blacktrigram 0.7.2
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 +201 -0
- package/README.md +866 -0
- package/SECURITY.md +124 -0
- package/lib/App.d.ts +4 -0
- package/lib/App.d.ts.map +1 -0
- package/lib/App2.js +386 -0
- package/lib/App2.js.map +1 -0
- package/lib/_virtual/_rolldown/runtime.js +13 -0
- package/lib/assets/index.css +1146 -0
- package/lib/audio/AudioAssetLoader.d.ts +101 -0
- package/lib/audio/AudioAssetLoader.d.ts.map +1 -0
- package/lib/audio/AudioAssetLoader.js +245 -0
- package/lib/audio/AudioAssetLoader.js.map +1 -0
- package/lib/audio/AudioAssetRegistry.d.ts +126 -0
- package/lib/audio/AudioAssetRegistry.d.ts.map +1 -0
- package/lib/audio/AudioAssetRegistry.js +970 -0
- package/lib/audio/AudioAssetRegistry.js.map +1 -0
- package/lib/audio/AudioCache.d.ts +135 -0
- package/lib/audio/AudioCache.d.ts.map +1 -0
- package/lib/audio/AudioCache.js +211 -0
- package/lib/audio/AudioCache.js.map +1 -0
- package/lib/audio/AudioManager.d.ts +162 -0
- package/lib/audio/AudioManager.d.ts.map +1 -0
- package/lib/audio/AudioManager.js +508 -0
- package/lib/audio/AudioManager.js.map +1 -0
- package/lib/audio/AudioMonitor.d.ts +122 -0
- package/lib/audio/AudioMonitor.d.ts.map +1 -0
- package/lib/audio/AudioMonitor.js +215 -0
- package/lib/audio/AudioMonitor.js.map +1 -0
- package/lib/audio/AudioPool.d.ts +108 -0
- package/lib/audio/AudioPool.d.ts.map +1 -0
- package/lib/audio/AudioPool.js +206 -0
- package/lib/audio/AudioPool.js.map +1 -0
- package/lib/audio/AudioProvider.d.ts +28 -0
- package/lib/audio/AudioProvider.d.ts.map +1 -0
- package/lib/audio/AudioProvider.js +135 -0
- package/lib/audio/AudioProvider.js.map +1 -0
- package/lib/audio/AudioUtils.d.ts +77 -0
- package/lib/audio/AudioUtils.d.ts.map +1 -0
- package/lib/audio/AudioUtils.js +164 -0
- package/lib/audio/AudioUtils.js.map +1 -0
- package/lib/audio/BoneImpactAudioMap.d.ts +64 -0
- package/lib/audio/BoneImpactAudioMap.d.ts.map +1 -0
- package/lib/audio/BoneImpactAudioMap.js +133 -0
- package/lib/audio/BoneImpactAudioMap.js.map +1 -0
- package/lib/audio/VariantSelector.d.ts +69 -0
- package/lib/audio/VariantSelector.d.ts.map +1 -0
- package/lib/audio/VariantSelector.js +177 -0
- package/lib/audio/VariantSelector.js.map +1 -0
- package/lib/audio/index.d.ts +13 -0
- package/lib/audio/index.d.ts.map +1 -0
- package/lib/audio/index.js +41 -0
- package/lib/audio/index.js.map +1 -0
- package/lib/audio/types.d.ts +220 -0
- package/lib/audio/types.d.ts.map +1 -0
- package/lib/audio/types.js +12 -0
- package/lib/audio/types.js.map +1 -0
- package/lib/components/effects/WindParticles3D.d.ts +83 -0
- package/lib/components/effects/WindParticles3D.d.ts.map +1 -0
- package/lib/components/effects/index.d.ts +6 -0
- package/lib/components/effects/index.d.ts.map +1 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/index.js +74 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/screens/combat/CombatScreen3D.d.ts +74 -0
- package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -0
- package/lib/components/screens/combat/CombatScreen3D.js +1912 -0
- package/lib/components/screens/combat/CombatScreen3D.js.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.d.ts +39 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.js +52 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.js.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts +35 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js +78 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js.map +1 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts +23 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.js +214 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.js.map +1 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts +54 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.js +357 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts +32 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.js +254 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts +63 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.js +108 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.js.map +1 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.d.ts +42 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.js +259 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.js.map +1 -0
- package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts +73 -0
- package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts +108 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js +232 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts +53 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js +87 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts +80 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js +278 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts +64 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js +248 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts +60 -0
- package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts +37 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js +184 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts +49 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js +66 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -0
- package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts +93 -0
- package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts +57 -0
- package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts +88 -0
- package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts +91 -0
- package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts +67 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js +261 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts +45 -0
- package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts +61 -0
- package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/PainVignette.d.ts +47 -0
- package/lib/components/screens/combat/components/effects/PainVignette.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/PainVignette.js +65 -0
- package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts +52 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js +103 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts +91 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js +296 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts +64 -0
- package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts +72 -0
- package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/index.d.ts +121 -0
- package/lib/components/screens/combat/components/effects/index.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts +31 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js +242 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts +74 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js +275 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts +25 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js +61 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts +43 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js +139 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts +50 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js +155 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts +54 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js +103 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts +54 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js +101 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts +47 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js +141 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts +25 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js +129 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts +48 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.js +131 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts +82 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js +73 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js.map +1 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts +80 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js +79 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/hud/index.d.ts +22 -0
- package/lib/components/screens/combat/components/hud/index.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/index.js +4 -0
- package/lib/components/screens/combat/components/index.d.ts +47 -0
- package/lib/components/screens/combat/components/index.d.ts.map +1 -0
- package/lib/components/screens/combat/components/index.js +23 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts +52 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js +113 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts +49 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +150 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts +44 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js +83 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts +83 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js +161 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts +38 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.js +37 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -0
- package/lib/components/screens/combat/helpers/combatHelpers.d.ts +37 -0
- package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -0
- package/lib/components/screens/combat/helpers/combatHelpers.js +33 -0
- package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -0
- package/lib/components/screens/combat/helpers/index.d.ts +8 -0
- package/lib/components/screens/combat/helpers/index.d.ts.map +1 -0
- package/lib/components/screens/combat/helpers/index.js +2 -0
- package/lib/components/screens/combat/hooks/useAICombat.d.ts +108 -0
- package/lib/components/screens/combat/hooks/useAICombat.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useAICombat.js +806 -0
- package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatActions.d.ts +106 -0
- package/lib/components/screens/combat/hooks/useCombatActions.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatActions.js +766 -0
- package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts +85 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js +202 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.d.ts +40 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.js +287 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts +61 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.js +89 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatState.d.ts +75 -0
- package/lib/components/screens/combat/hooks/useCombatState.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatState.js +182 -0
- package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -0
- package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts +36 -0
- package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts +63 -0
- package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -0
- package/lib/components/screens/combat/index.d.ts +4 -0
- package/lib/components/screens/combat/index.d.ts.map +1 -0
- package/lib/components/screens/combat/index.js +25 -0
- package/lib/components/screens/controls/ControlsScreen3D.d.ts +12 -0
- package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -0
- package/lib/components/screens/controls/ControlsScreen3D.js +1248 -0
- package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts +35 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js +155 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts +31 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js +100 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js.map +1 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts +32 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.js +250 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts +35 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js +222 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -0
- package/lib/components/screens/controls/components/Key3D.d.ts +36 -0
- package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -0
- package/lib/components/screens/controls/components/Key3D.js +169 -0
- package/lib/components/screens/controls/components/Key3D.js.map +1 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts +37 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.js +120 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -0
- package/lib/components/screens/controls/components/index.d.ts +20 -0
- package/lib/components/screens/controls/components/index.d.ts.map +1 -0
- package/lib/components/screens/controls/constants/ControlsConstants.d.ts +67 -0
- package/lib/components/screens/controls/constants/ControlsConstants.d.ts.map +1 -0
- package/lib/components/screens/controls/constants/ControlsConstants.js +504 -0
- package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -0
- package/lib/components/screens/controls/hooks/useControlsState.d.ts +46 -0
- package/lib/components/screens/controls/hooks/useControlsState.d.ts.map +1 -0
- package/lib/components/screens/controls/hooks/useControlsState.js +71 -0
- package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -0
- package/lib/components/screens/endscreen/EndScreen3D.d.ts +18 -0
- package/lib/components/screens/endscreen/EndScreen3D.d.ts.map +1 -0
- package/lib/components/screens/endscreen/EndScreen3D.js +367 -0
- package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts +9 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js +205 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts +13 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js +321 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts +28 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js +93 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts +13 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js +294 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts +13 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js +210 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts +9 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js +299 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts +14 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js +170 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/animations.d.ts +25 -0
- package/lib/components/screens/endscreen/components/animations.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/animations.js +71 -0
- package/lib/components/screens/endscreen/components/animations.js.map +1 -0
- package/lib/components/screens/endscreen/components/index.d.ts +19 -0
- package/lib/components/screens/endscreen/components/index.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/index.js +8 -0
- package/lib/components/screens/endscreen/index.d.ts +9 -0
- package/lib/components/screens/endscreen/index.d.ts.map +1 -0
- package/lib/components/screens/endscreen/index.js +10 -0
- package/lib/components/screens/intro/IntroScreen3D.d.ts +16 -0
- package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -0
- package/lib/components/screens/intro/IntroScreen3D.js +488 -0
- package/lib/components/screens/intro/IntroScreen3D.js.map +1 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts +53 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js +146 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts +20 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js +154 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts +38 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js +235 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts +35 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js +325 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts +19 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js +88 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts +65 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js +143 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts +27 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js +153 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts +47 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js +128 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts +12 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js +561 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -0
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts +40 -0
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts +40 -0
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts +46 -0
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts +42 -0
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts +49 -0
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts +43 -0
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/index.d.ts +23 -0
- package/lib/components/screens/philosophy/components/index.d.ts.map +1 -0
- package/lib/components/screens/philosophy/hooks/index.d.ts +10 -0
- package/lib/components/screens/philosophy/hooks/index.d.ts.map +1 -0
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts +50 -0
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts.map +1 -0
- package/lib/components/screens/training/TrainingScreen3D.d.ts +51 -0
- package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -0
- package/lib/components/screens/training/TrainingScreen3D.js +947 -0
- package/lib/components/screens/training/TrainingScreen3D.js.map +1 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts +31 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js +189 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts +31 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.js +679 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -0
- package/lib/components/screens/training/components/DamageNumber3D.d.ts +28 -0
- package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/DamageNumber3D.js +6 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts +47 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js +380 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts +47 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js +292 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts +32 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js +258 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -0
- package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts +36 -0
- package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingAICharacter3D.js +6 -0
- package/lib/components/screens/training/components/TrainingArena3D.d.ts +22 -0
- package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingArena3D.js +5 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts +73 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js +107 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts +50 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js +129 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingDummy3D.d.ts +72 -0
- package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingDummy3D.js +298 -0
- package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts +30 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js +44 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts +27 -0
- package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingHitEffects3D.js +6 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts +51 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js +188 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts +63 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js +253 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.d.ts +37 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.js +210 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts +29 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js +195 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts +59 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js +145 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts +47 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js +59 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts +68 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js +93 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts +55 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js +184 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/index.d.ts +13 -0
- package/lib/components/screens/training/components/hud/index.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/index.js +4 -0
- package/lib/components/screens/training/components/index.d.ts +22 -0
- package/lib/components/screens/training/components/index.d.ts.map +1 -0
- package/lib/components/screens/training/components/index.js +19 -0
- package/lib/components/screens/training/hooks/useAttackMovement.d.ts +69 -0
- package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useAttackMovement.js +118 -0
- package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts +82 -0
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingActions.js +284 -0
- package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts +62 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.js +96 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingState.d.ts +100 -0
- package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingState.js +344 -0
- package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -0
- package/lib/components/screens/training/index.d.ts +4 -0
- package/lib/components/screens/training/index.d.ts.map +1 -0
- package/lib/components/screens/training/index.js +16 -0
- package/lib/components/shared/base/AccessibilityProvider.d.ts +51 -0
- package/lib/components/shared/base/AccessibilityProvider.d.ts.map +1 -0
- package/lib/components/shared/base/AccessibilityProvider.js +71 -0
- package/lib/components/shared/base/AccessibilityProvider.js.map +1 -0
- package/lib/components/shared/base/BaseButton.d.ts +42 -0
- package/lib/components/shared/base/BaseButton.d.ts.map +1 -0
- package/lib/components/shared/base/BaseButton.js +214 -0
- package/lib/components/shared/base/BaseButton.js.map +1 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts +52 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts.map +1 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.js +130 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -0
- package/lib/components/shared/base/BasePanel.d.ts +30 -0
- package/lib/components/shared/base/BasePanel.d.ts.map +1 -0
- package/lib/components/shared/base/BasePanel.js +83 -0
- package/lib/components/shared/base/BasePanel.js.map +1 -0
- package/lib/components/shared/base/BaseText.d.ts +40 -0
- package/lib/components/shared/base/BaseText.d.ts.map +1 -0
- package/lib/components/shared/base/BaseText.js +157 -0
- package/lib/components/shared/base/BaseText.js.map +1 -0
- package/lib/components/shared/base/ResponsiveContainer.d.ts +126 -0
- package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -0
- package/lib/components/shared/base/index.d.ts +23 -0
- package/lib/components/shared/base/index.d.ts.map +1 -0
- package/lib/components/shared/base/index.js +6 -0
- package/lib/components/shared/base/layoutUtils.d.ts +102 -0
- package/lib/components/shared/base/layoutUtils.d.ts.map +1 -0
- package/lib/components/shared/base/useKoreanTheme.d.ts +206 -0
- package/lib/components/shared/base/useKoreanTheme.d.ts.map +1 -0
- package/lib/components/shared/base/useKoreanTheme.js +169 -0
- package/lib/components/shared/base/useKoreanTheme.js.map +1 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts +32 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts.map +1 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js +69 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -0
- package/lib/components/shared/effects/ScreenFlash.d.ts +98 -0
- package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -0
- package/lib/components/shared/mobile/ActionButtons.d.ts +44 -0
- package/lib/components/shared/mobile/ActionButtons.d.ts.map +1 -0
- package/lib/components/shared/mobile/ActionButtons.js +324 -0
- package/lib/components/shared/mobile/ActionButtons.js.map +1 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts +64 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts.map +1 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.js +231 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -0
- package/lib/components/shared/mobile/HapticController.d.ts +253 -0
- package/lib/components/shared/mobile/HapticController.d.ts.map +1 -0
- package/lib/components/shared/mobile/HapticController.js +280 -0
- package/lib/components/shared/mobile/HapticController.js.map +1 -0
- package/lib/components/shared/mobile/MobileControlsPure.d.ts +43 -0
- package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -0
- package/lib/components/shared/mobile/MobileControlsPure.js +294 -0
- package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -0
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts +249 -0
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -0
- package/lib/components/shared/mobile/StanceWheelPure.d.ts +78 -0
- package/lib/components/shared/mobile/StanceWheelPure.d.ts.map +1 -0
- package/lib/components/shared/mobile/StanceWheelPure.js +386 -0
- package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -0
- package/lib/components/shared/mobile/TouchOptimizer.d.ts +154 -0
- package/lib/components/shared/mobile/TouchOptimizer.d.ts.map +1 -0
- package/lib/components/shared/mobile/TouchOptimizer.js +83 -0
- package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -0
- package/lib/components/shared/mobile/VirtualDPad.d.ts +49 -0
- package/lib/components/shared/mobile/VirtualDPad.d.ts.map +1 -0
- package/lib/components/shared/mobile/VirtualDPad.js +289 -0
- package/lib/components/shared/mobile/VirtualDPad.js.map +1 -0
- package/lib/components/shared/mobile/index.d.ts +31 -0
- package/lib/components/shared/mobile/index.d.ts.map +1 -0
- package/lib/components/shared/mobile/index.js +7 -0
- package/lib/components/shared/three/anatomy/BodySurface.d.ts +78 -0
- package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BodySurface.js +393 -0
- package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts +147 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js +541 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -0
- package/lib/components/shared/three/anatomy/BoneClothing.d.ts +89 -0
- package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BoneClothing.js +345 -0
- package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts +129 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.js +266 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -0
- package/lib/components/shared/three/anatomy/Face3D.d.ts +40 -0
- package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/Face3D.js +426 -0
- package/lib/components/shared/three/anatomy/Face3D.js.map +1 -0
- package/lib/components/shared/three/anatomy/Foot3D.d.ts +71 -0
- package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/Foot3D.js +178 -0
- package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -0
- package/lib/components/shared/three/anatomy/Hand3D.d.ts +101 -0
- package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/Hand3D.js +376 -0
- package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -0
- package/lib/components/shared/three/effects/ActionFeedback.d.ts +78 -0
- package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -0
- package/lib/components/shared/three/effects/ActionFeedback.js +236 -0
- package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -0
- package/lib/components/shared/three/effects/DamageNumbers.d.ts +36 -0
- package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -0
- package/lib/components/shared/three/effects/DamageNumbers.js +148 -0
- package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -0
- package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts +41 -0
- package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts +49 -0
- package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/HitEffects3D.d.ts +28 -0
- package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/HitEffects3D.js +427 -0
- package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -0
- package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts +67 -0
- package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts +63 -0
- package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts +36 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.js +237 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.d.ts +52 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.js +128 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts +56 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.js +174 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -0
- package/lib/components/shared/three/effects/ThunderEffect3D.d.ts +39 -0
- package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts +48 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js +249 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -0
- package/lib/components/shared/three/index.d.ts +30 -0
- package/lib/components/shared/three/index.d.ts.map +1 -0
- package/lib/components/shared/three/index.js +9 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts +184 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.js +147 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -0
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts +58 -0
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/GuardIndicator.js +259 -0
- package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -0
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts +184 -0
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/HapticFeedback.js +46 -0
- package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts +53 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js +222 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -0
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts +82 -0
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.d.ts +77 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.js +118 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts +44 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.js +358 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts +107 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.js +197 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -0
- package/lib/components/shared/three/optimization/InstancedGeometry.d.ts +189 -0
- package/lib/components/shared/three/optimization/InstancedGeometry.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/InstancedGeometry.js +3 -0
- package/lib/components/shared/three/optimization/LODSystem.d.ts +126 -0
- package/lib/components/shared/three/optimization/LODSystem.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/LODSystem.js +3 -0
- package/lib/components/shared/three/optimization/index.d.ts +14 -0
- package/lib/components/shared/three/optimization/index.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/index.js +3 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts +31 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js +84 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.d.ts +76 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.js +124 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -0
- package/lib/components/shared/three/scene/CombatArena3D.d.ts +38 -0
- package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/CombatArena3D.js +256 -0
- package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -0
- package/lib/components/shared/three/scene/DebugCollision.d.ts +64 -0
- package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.d.ts +29 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.js +122 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -0
- package/lib/components/shared/three/ui/ArchetypeCard.d.ts +38 -0
- package/lib/components/shared/three/ui/ArchetypeCard.d.ts.map +1 -0
- package/lib/components/shared/three/ui/ArchetypeCard.js +213 -0
- package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts +45 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js +206 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -0
- package/lib/components/shared/three/ui/BreathingIndicator.d.ts +25 -0
- package/lib/components/shared/three/ui/BreathingIndicator.d.ts.map +1 -0
- package/lib/components/shared/three/ui/BreathingIndicator2.js +104 -0
- package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.d.ts +43 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.js +135 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -0
- package/lib/components/shared/three/ui/ComboCounter.d.ts +42 -0
- package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -0
- package/lib/components/shared/three/ui/ComboCounter.js +222 -0
- package/lib/components/shared/three/ui/ComboCounter.js.map +1 -0
- package/lib/components/shared/three/ui/HealthBar.d.ts +37 -0
- package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/HealthBar.js +112 -0
- package/lib/components/shared/three/ui/HealthBar.js.map +1 -0
- package/lib/components/shared/three/ui/KoreanButton.d.ts +37 -0
- package/lib/components/shared/three/ui/KoreanButton.d.ts.map +1 -0
- package/lib/components/shared/three/ui/KoreanButton.js +33 -0
- package/lib/components/shared/three/ui/KoreanButton.js.map +1 -0
- package/lib/components/shared/three/ui/KoreanPanel.d.ts +32 -0
- package/lib/components/shared/three/ui/KoreanPanel.d.ts.map +1 -0
- package/lib/components/shared/three/ui/KoreanPanel.js +29 -0
- package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -0
- package/lib/components/shared/three/ui/KoreanText.d.ts +35 -0
- package/lib/components/shared/three/ui/KoreanText.d.ts.map +1 -0
- package/lib/components/shared/three/ui/KoreanText.js +32 -0
- package/lib/components/shared/three/ui/KoreanText.js.map +1 -0
- package/lib/components/shared/three/ui/MenuList.d.ts +47 -0
- package/lib/components/shared/three/ui/MenuList.d.ts.map +1 -0
- package/lib/components/shared/three/ui/MenuList.js +123 -0
- package/lib/components/shared/three/ui/MenuList.js.map +1 -0
- package/lib/components/shared/three/ui/PlayerHUD.d.ts +34 -0
- package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -0
- package/lib/components/shared/three/ui/PlayerHUD.js +231 -0
- package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -0
- package/lib/components/shared/three/ui/ProgressBar.d.ts +48 -0
- package/lib/components/shared/three/ui/ProgressBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/ProgressBar.js +173 -0
- package/lib/components/shared/three/ui/ProgressBar.js.map +1 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts +62 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts.map +1 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js +185 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -0
- package/lib/components/shared/three/ui/StaminaBar.d.ts +37 -0
- package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/StaminaBar.js +103 -0
- package/lib/components/shared/three/ui/StaminaBar.js.map +1 -0
- package/lib/components/shared/three/ui/TechniqueBar.d.ts +52 -0
- package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/TechniqueBar.js +128 -0
- package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -0
- package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts +49 -0
- package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -0
- package/lib/components/shared/three/ui/TechniqueCard.d.ts +64 -0
- package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -0
- package/lib/components/shared/three/ui/TechniqueCard.js +333 -0
- package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts +76 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js +551 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -0
- package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts +63 -0
- package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -0
- package/lib/components/shared/ui/BackButton.d.ts +82 -0
- package/lib/components/shared/ui/BackButton.d.ts.map +1 -0
- package/lib/components/shared/ui/BackButton.js +67 -0
- package/lib/components/shared/ui/BackButton.js.map +1 -0
- package/lib/components/shared/ui/BaseHUDContainer.d.ts +71 -0
- package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -0
- package/lib/components/shared/ui/BaseHUDContainer.js +126 -0
- package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -0
- package/lib/components/shared/ui/CombatTimer.d.ts +60 -0
- package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -0
- package/lib/components/shared/ui/CombatTimer.js +145 -0
- package/lib/components/shared/ui/CombatTimer.js.map +1 -0
- package/lib/components/shared/ui/ErrorBoundary.d.ts +44 -0
- package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -0
- package/lib/components/shared/ui/ErrorModal.d.ts +21 -0
- package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -0
- package/lib/components/shared/ui/ErrorModal.js +133 -0
- package/lib/components/shared/ui/ErrorModal.js.map +1 -0
- package/lib/components/shared/ui/HUDSection.d.ts +65 -0
- package/lib/components/shared/ui/HUDSection.d.ts.map +1 -0
- package/lib/components/shared/ui/LoadingState.d.ts +50 -0
- package/lib/components/shared/ui/LoadingState.d.ts.map +1 -0
- package/lib/components/shared/ui/LoadingState.js +92 -0
- package/lib/components/shared/ui/LoadingState.js.map +1 -0
- package/lib/components/shared/ui/MobileHUDLayout.d.ts +70 -0
- package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -0
- package/lib/components/shared/ui/ResponsiveContainer.d.ts +69 -0
- package/lib/components/shared/ui/ResponsiveContainer.d.ts.map +1 -0
- package/lib/components/shared/ui/SplashScreen.d.ts +13 -0
- package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -0
- package/lib/components/shared/ui/SplashScreen.js +204 -0
- package/lib/components/shared/ui/SplashScreen.js.map +1 -0
- package/lib/components/shared/ui/StyledHUDPanel.d.ts +56 -0
- package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts +79 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js +550 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -0
- package/lib/components/shared/ui/VolumeControl.d.ts +20 -0
- package/lib/components/shared/ui/VolumeControl.d.ts.map +1 -0
- package/lib/components/shared/ui/VolumeControl.js +292 -0
- package/lib/components/shared/ui/VolumeControl.js.map +1 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.d.ts +29 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.js +149 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -0
- package/lib/components/test/Hello3D.d.ts +36 -0
- package/lib/components/test/Hello3D.d.ts.map +1 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts +63 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts.map +1 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js +179 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -0
- package/lib/components/ui/combat/ComboCounter.d.ts +85 -0
- package/lib/components/ui/combat/ComboCounter.d.ts.map +1 -0
- package/lib/components/ui/combat/PressureMeter.d.ts +60 -0
- package/lib/components/ui/combat/PressureMeter.d.ts.map +1 -0
- package/lib/components/ui/combat/index.d.ts +8 -0
- package/lib/components/ui/combat/index.d.ts.map +1 -0
- package/lib/constants/bodyDimensions.d.ts +241 -0
- package/lib/constants/bodyDimensions.d.ts.map +1 -0
- package/lib/constants/bodyDimensions.js +213 -0
- package/lib/constants/bodyDimensions.js.map +1 -0
- package/lib/constants/bodyRenderingConstants.d.ts +295 -0
- package/lib/constants/bodyRenderingConstants.d.ts.map +1 -0
- package/lib/constants/bodyRenderingConstants.js +128 -0
- package/lib/constants/bodyRenderingConstants.js.map +1 -0
- package/lib/data/archetypeClothing.d.ts +40 -0
- package/lib/data/archetypeClothing.d.ts.map +1 -0
- package/lib/data/archetypeClothing.js +584 -0
- package/lib/data/archetypeClothing.js.map +1 -0
- package/lib/data/archetypePhysicalAttributes.d.ts +279 -0
- package/lib/data/archetypePhysicalAttributes.d.ts.map +1 -0
- package/lib/data/archetypePhysicalAttributes.js +227 -0
- package/lib/data/archetypePhysicalAttributes.js.map +1 -0
- package/lib/data/techniqueMappings.d.ts +64 -0
- package/lib/data/techniqueMappings.d.ts.map +1 -0
- package/lib/data/techniqueMappings.js +56 -0
- package/lib/data/techniqueMappings.js.map +1 -0
- package/lib/data/techniques.d.ts +84 -0
- package/lib/data/techniques.d.ts.map +1 -0
- package/lib/data/techniques.js +739 -0
- package/lib/data/techniques.js.map +1 -0
- package/lib/hooks/useActionFeedback.d.ts +114 -0
- package/lib/hooks/useActionFeedback.d.ts.map +1 -0
- package/lib/hooks/useActionFeedback.js +158 -0
- package/lib/hooks/useActionFeedback.js.map +1 -0
- package/lib/hooks/useBalanceAnimations.d.ts +62 -0
- package/lib/hooks/useBalanceAnimations.d.ts.map +1 -0
- package/lib/hooks/useBalanceAnimations.js +133 -0
- package/lib/hooks/useBalanceAnimations.js.map +1 -0
- package/lib/hooks/useCombatTimer.d.ts +77 -0
- package/lib/hooks/useCombatTimer.d.ts.map +1 -0
- package/lib/hooks/useCombatTimer.js +139 -0
- package/lib/hooks/useCombatTimer.js.map +1 -0
- package/lib/hooks/useDebounce.d.ts +30 -0
- package/lib/hooks/useDebounce.d.ts.map +1 -0
- package/lib/hooks/useHUDLayout.d.ts +67 -0
- package/lib/hooks/useHUDLayout.d.ts.map +1 -0
- package/lib/hooks/useHUDLayout.js +92 -0
- package/lib/hooks/useHUDLayout.js.map +1 -0
- package/lib/hooks/useHandPoseTransitions.d.ts +65 -0
- package/lib/hooks/useHandPoseTransitions.d.ts.map +1 -0
- package/lib/hooks/useHandPoseTransitions.js +127 -0
- package/lib/hooks/useHandPoseTransitions.js.map +1 -0
- package/lib/hooks/useKeyboardControls.d.ts +73 -0
- package/lib/hooks/useKeyboardControls.d.ts.map +1 -0
- package/lib/hooks/useKeyboardControls.js +311 -0
- package/lib/hooks/useKeyboardControls.js.map +1 -0
- package/lib/hooks/useMatchCountdown.d.ts +87 -0
- package/lib/hooks/useMatchCountdown.d.ts.map +1 -0
- package/lib/hooks/useMatchCountdown.js +162 -0
- package/lib/hooks/useMatchCountdown.js.map +1 -0
- package/lib/hooks/useMuscleActivation.d.ts +76 -0
- package/lib/hooks/useMuscleActivation.d.ts.map +1 -0
- package/lib/hooks/useMuscleActivation.js +99 -0
- package/lib/hooks/useMuscleActivation.js.map +1 -0
- package/lib/hooks/usePauseMenu.d.ts +32 -0
- package/lib/hooks/usePauseMenu.d.ts.map +1 -0
- package/lib/hooks/usePlayerAnimation.d.ts +188 -0
- package/lib/hooks/usePlayerAnimation.d.ts.map +1 -0
- package/lib/hooks/usePlayerAnimation.js +145 -0
- package/lib/hooks/usePlayerAnimation.js.map +1 -0
- package/lib/hooks/useResponsiveLayout.d.ts +184 -0
- package/lib/hooks/useResponsiveLayout.d.ts.map +1 -0
- package/lib/hooks/useRoundTransition.d.ts +87 -0
- package/lib/hooks/useRoundTransition.d.ts.map +1 -0
- package/lib/hooks/useRoundTransition.js +158 -0
- package/lib/hooks/useRoundTransition.js.map +1 -0
- package/lib/hooks/useSkeletalAnimation.d.ts +88 -0
- package/lib/hooks/useSkeletalAnimation.d.ts.map +1 -0
- package/lib/hooks/useSkeletalAnimation.js +176 -0
- package/lib/hooks/useSkeletalAnimation.js.map +1 -0
- package/lib/hooks/useTechniqueSelection.d.ts +73 -0
- package/lib/hooks/useTechniqueSelection.d.ts.map +1 -0
- package/lib/hooks/useTechniqueSelection.js +190 -0
- package/lib/hooks/useTechniqueSelection.js.map +1 -0
- package/lib/hooks/useThrottle.d.ts +30 -0
- package/lib/hooks/useThrottle.d.ts.map +1 -0
- package/lib/hooks/useThrottle.js +61 -0
- package/lib/hooks/useThrottle.js.map +1 -0
- package/lib/hooks/useTouchControls.d.ts +107 -0
- package/lib/hooks/useTouchControls.d.ts.map +1 -0
- package/lib/hooks/useTouchControls.js +260 -0
- package/lib/hooks/useTouchControls.js.map +1 -0
- package/lib/hooks/useWebGLContextLossHandler.d.ts +77 -0
- package/lib/hooks/useWebGLContextLossHandler.d.ts.map +1 -0
- package/lib/hooks/useWebGLContextLossHandler.js +119 -0
- package/lib/hooks/useWebGLContextLossHandler.js.map +1 -0
- package/lib/hooks/useWindowSize.d.ts +60 -0
- package/lib/hooks/useWindowSize.d.ts.map +1 -0
- package/lib/hooks/useWindowSize.js +62 -0
- package/lib/hooks/useWindowSize.js.map +1 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +114 -0
- package/lib/systems/CombatSystem.d.ts +348 -0
- package/lib/systems/CombatSystem.d.ts.map +1 -0
- package/lib/systems/CombatSystem.js +877 -0
- package/lib/systems/CombatSystem.js.map +1 -0
- package/lib/systems/EffectCalculator.d.ts +176 -0
- package/lib/systems/EffectCalculator.d.ts.map +1 -0
- package/lib/systems/EffectCalculator.js +251 -0
- package/lib/systems/EffectCalculator.js.map +1 -0
- package/lib/systems/LayoutSystem.d.ts +250 -0
- package/lib/systems/LayoutSystem.d.ts.map +1 -0
- package/lib/systems/LayoutSystem.js +337 -0
- package/lib/systems/LayoutSystem.js.map +1 -0
- package/lib/systems/PlayerEffectManager.d.ts +210 -0
- package/lib/systems/PlayerEffectManager.d.ts.map +1 -0
- package/lib/systems/PlayerEffectManager.js +178 -0
- package/lib/systems/PlayerEffectManager.js.map +1 -0
- package/lib/systems/ResponsiveScaling.d.ts +298 -0
- package/lib/systems/ResponsiveScaling.d.ts.map +1 -0
- package/lib/systems/ResponsiveScaling.js +376 -0
- package/lib/systems/ResponsiveScaling.js.map +1 -0
- package/lib/systems/TrigramSystem.d.ts +388 -0
- package/lib/systems/TrigramSystem.d.ts.map +1 -0
- package/lib/systems/TrigramSystem.js +512 -0
- package/lib/systems/TrigramSystem.js.map +1 -0
- package/lib/systems/VitalPointSystem.d.ts +330 -0
- package/lib/systems/VitalPointSystem.d.ts.map +1 -0
- package/lib/systems/VitalPointSystem.js +455 -0
- package/lib/systems/VitalPointSystem.js.map +1 -0
- package/lib/systems/ai/AIPersonality.d.ts +133 -0
- package/lib/systems/ai/AIPersonality.d.ts.map +1 -0
- package/lib/systems/ai/AIPersonality.js +245 -0
- package/lib/systems/ai/AIPersonality.js.map +1 -0
- package/lib/systems/ai/AdaptiveDifficulty.d.ts +159 -0
- package/lib/systems/ai/AdaptiveDifficulty.d.ts.map +1 -0
- package/lib/systems/ai/AdaptiveDifficulty.js +297 -0
- package/lib/systems/ai/AdaptiveDifficulty.js.map +1 -0
- package/lib/systems/ai/ArchetypeEnforcer.d.ts +132 -0
- package/lib/systems/ai/ArchetypeEnforcer.d.ts.map +1 -0
- package/lib/systems/ai/ArchetypeEnforcer.js +279 -0
- package/lib/systems/ai/ArchetypeEnforcer.js.map +1 -0
- package/lib/systems/ai/ComboSystem.d.ts +136 -0
- package/lib/systems/ai/ComboSystem.d.ts.map +1 -0
- package/lib/systems/ai/ComboSystem.js +384 -0
- package/lib/systems/ai/ComboSystem.js.map +1 -0
- package/lib/systems/ai/DecisionTree.d.ts +563 -0
- package/lib/systems/ai/DecisionTree.d.ts.map +1 -0
- package/lib/systems/ai/DecisionTree.js +1516 -0
- package/lib/systems/ai/DecisionTree.js.map +1 -0
- package/lib/systems/ai/TrainingAI.d.ts +132 -0
- package/lib/systems/ai/TrainingAI.d.ts.map +1 -0
- package/lib/systems/ai/TrainingAI.js +265 -0
- package/lib/systems/ai/TrainingAI.js.map +1 -0
- package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts +19 -0
- package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts.map +1 -0
- package/lib/systems/ai/index.d.ts +12 -0
- package/lib/systems/ai/index.d.ts.map +1 -0
- package/lib/systems/ai/index.js +7 -0
- package/lib/systems/ai/types.d.ts +111 -0
- package/lib/systems/ai/types.d.ts.map +1 -0
- package/lib/systems/ai/types.js +24 -0
- package/lib/systems/ai/types.js.map +1 -0
- package/lib/systems/animation/AnimationCategory.d.ts +64 -0
- package/lib/systems/animation/AnimationCategory.d.ts.map +1 -0
- package/lib/systems/animation/builders/AnimationBuilder.d.ts +288 -0
- package/lib/systems/animation/builders/AnimationBuilder.d.ts.map +1 -0
- package/lib/systems/animation/builders/AnimationBuilder.js +261 -0
- package/lib/systems/animation/builders/AnimationBuilder.js.map +1 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts +280 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts.map +1 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.js +234 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.js.map +1 -0
- package/lib/systems/animation/builders/HandPoseApplicator.d.ts +56 -0
- package/lib/systems/animation/builders/HandPoseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/HandPoseApplicator.js +130 -0
- package/lib/systems/animation/builders/HandPoseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/HandPoses.d.ts +186 -0
- package/lib/systems/animation/builders/HandPoses.d.ts.map +1 -0
- package/lib/systems/animation/builders/HandPoses.js +509 -0
- package/lib/systems/animation/builders/HandPoses.js.map +1 -0
- package/lib/systems/animation/builders/KeyframeConfig.d.ts +207 -0
- package/lib/systems/animation/builders/KeyframeConfig.d.ts.map +1 -0
- package/lib/systems/animation/builders/KeyframeConfig.js +264 -0
- package/lib/systems/animation/builders/KeyframeConfig.js.map +1 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts +491 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.js +252 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.d.ts +119 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.js +119 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.d.ts +208 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.d.ts.map +1 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.js +267 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.js.map +1 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts +1310 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts.map +1 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js +2857 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js.map +1 -0
- package/lib/systems/animation/builders/MartialArtsConstants.d.ts +1034 -0
- package/lib/systems/animation/builders/MartialArtsConstants.d.ts.map +1 -0
- package/lib/systems/animation/builders/MartialArtsConstants.js +1644 -0
- package/lib/systems/animation/builders/MartialArtsConstants.js.map +1 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.d.ts +54 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.js +54 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts +73 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.js +68 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/SkeletonRig.d.ts +321 -0
- package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -0
- package/lib/systems/animation/builders/SkeletonRig.js +330 -0
- package/lib/systems/animation/builders/SkeletonRig.js.map +1 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts +99 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.js +185 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.js.map +1 -0
- package/lib/systems/animation/builders/index.d.ts +23 -0
- package/lib/systems/animation/builders/index.d.ts.map +1 -0
- package/lib/systems/animation/builders/index.js +13 -0
- package/lib/systems/animation/catalogs/AttackAnimations.d.ts +523 -0
- package/lib/systems/animation/catalogs/AttackAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/AttackAnimations.js +537 -0
- package/lib/systems/animation/catalogs/AttackAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/BasicAnimations.d.ts +84 -0
- package/lib/systems/animation/catalogs/BasicAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/BasicAnimations.js +92 -0
- package/lib/systems/animation/catalogs/BasicAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/ComboAnimations.d.ts +370 -0
- package/lib/systems/animation/catalogs/ComboAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/ComboAnimations.js +400 -0
- package/lib/systems/animation/catalogs/ComboAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts +301 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.js +322 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts +134 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.js +142 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts +437 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.js +452 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts +146 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js +100 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts +81 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js +94 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts +268 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js +196 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts +64 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.js +68 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts +111 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.js +9 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts +82 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.js +55 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts +122 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.js +135 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts +78 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.js +83 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts +323 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.js +341 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.d.ts +84 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.js +6 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.js.map +1 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts +134 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.js +9 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts +265 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.js +13 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts +452 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.js +475 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts +98 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.js +111 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts +80 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.js +89 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/KickAnimations.d.ts +916 -0
- package/lib/systems/animation/catalogs/KickAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/KickAnimations.js +929 -0
- package/lib/systems/animation/catalogs/KickAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts +140 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.js +122 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts +104 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.js +90 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/MovementAnimations.d.ts +344 -0
- package/lib/systems/animation/catalogs/MovementAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/MovementAnimations.js +371 -0
- package/lib/systems/animation/catalogs/MovementAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/PunchAnimations.d.ts +496 -0
- package/lib/systems/animation/catalogs/PunchAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/PunchAnimations.js +498 -0
- package/lib/systems/animation/catalogs/PunchAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts +184 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.js +465 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts +149 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.js +131 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts +90 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.js +95 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts +178 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js +188 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceAnimations.d.ts +687 -0
- package/lib/systems/animation/catalogs/StanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceAnimations.js +840 -0
- package/lib/systems/animation/catalogs/StanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts +483 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.js +2369 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts +327 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.js +655 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts +255 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.js +446 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts +207 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js +309 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StepAnimations.d.ts +274 -0
- package/lib/systems/animation/catalogs/StepAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StepAnimations.js +73 -0
- package/lib/systems/animation/catalogs/StepAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts +100 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.js +99 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts +170 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.js +141 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts +120 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.js +139 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/index.d.ts +43 -0
- package/lib/systems/animation/catalogs/index.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/index.js +36 -0
- package/lib/systems/animation/constants/AnatomicalLimits.d.ts +234 -0
- package/lib/systems/animation/constants/AnatomicalLimits.d.ts.map +1 -0
- package/lib/systems/animation/constants/AnatomicalLimits.js +61 -0
- package/lib/systems/animation/constants/AnatomicalLimits.js.map +1 -0
- package/lib/systems/animation/constants/index.d.ts +13 -0
- package/lib/systems/animation/constants/index.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationHitTiming.d.ts +184 -0
- package/lib/systems/animation/core/AnimationHitTiming.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationHitTiming.js +766 -0
- package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -0
- package/lib/systems/animation/core/AnimationOptimizations.d.ts +221 -0
- package/lib/systems/animation/core/AnimationOptimizations.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationOptimizations.js +322 -0
- package/lib/systems/animation/core/AnimationOptimizations.js.map +1 -0
- package/lib/systems/animation/core/AnimationPriority.d.ts +391 -0
- package/lib/systems/animation/core/AnimationPriority.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationPriority.js +349 -0
- package/lib/systems/animation/core/AnimationPriority.js.map +1 -0
- package/lib/systems/animation/core/AnimationRegistry.d.ts +220 -0
- package/lib/systems/animation/core/AnimationRegistry.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationRegistry.js +416 -0
- package/lib/systems/animation/core/AnimationRegistry.js.map +1 -0
- package/lib/systems/animation/core/AnimationStateMachine.d.ts +701 -0
- package/lib/systems/animation/core/AnimationStateMachine.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationStateMachine.js +1458 -0
- package/lib/systems/animation/core/AnimationStateMachine.js.map +1 -0
- package/lib/systems/animation/core/AnimationTransitions.d.ts +275 -0
- package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationTransitions.js +920 -0
- package/lib/systems/animation/core/AnimationTransitions.js.map +1 -0
- package/lib/systems/animation/core/LateralityTransform.d.ts +120 -0
- package/lib/systems/animation/core/LateralityTransform.d.ts.map +1 -0
- package/lib/systems/animation/core/LateralityTransform.js +204 -0
- package/lib/systems/animation/core/LateralityTransform.js.map +1 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts +171 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts.map +1 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js +122 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts +303 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.js +770 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts +74 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.js +1313 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.js.map +1 -0
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts +286 -0
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts.map +1 -0
- package/lib/systems/animation/core/TrigramAnimationMapping.js +6 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts +186 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts.map +1 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.js +8 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.js.map +1 -0
- package/lib/systems/animation/core/index.d.ts +23 -0
- package/lib/systems/animation/core/index.d.ts.map +1 -0
- package/lib/systems/animation/core/index.js +16 -0
- package/lib/systems/animation/core/types.d.ts +1360 -0
- package/lib/systems/animation/core/types.d.ts.map +1 -0
- package/lib/systems/animation/core/types.js +539 -0
- package/lib/systems/animation/core/types.js.map +1 -0
- package/lib/systems/animation/index.d.ts +16 -0
- package/lib/systems/animation/index.d.ts.map +1 -0
- package/lib/systems/animation/index.js +63 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts +614 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.js +95 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -0
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts +331 -0
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -0
- package/lib/systems/animation/systems/BodyFacingSystem.js +327 -0
- package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -0
- package/lib/systems/animation/systems/FacialExpressions.d.ts +167 -0
- package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -0
- package/lib/systems/animation/systems/FacialExpressions.js +76 -0
- package/lib/systems/animation/systems/FacialExpressions.js.map +1 -0
- package/lib/systems/animation/systems/FallAnimations.d.ts +174 -0
- package/lib/systems/animation/systems/FallAnimations.d.ts.map +1 -0
- package/lib/systems/animation/systems/FallAnimations.js +104 -0
- package/lib/systems/animation/systems/FallAnimations.js.map +1 -0
- package/lib/systems/animation/systems/HeadMovements.d.ts +152 -0
- package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -0
- package/lib/systems/animation/systems/HeadMovements.js +2 -0
- package/lib/systems/animation/systems/MuscleActivation.d.ts +163 -0
- package/lib/systems/animation/systems/MuscleActivation.d.ts.map +1 -0
- package/lib/systems/animation/systems/MuscleActivation.js +427 -0
- package/lib/systems/animation/systems/MuscleActivation.js.map +1 -0
- package/lib/systems/animation/systems/RecoveryVisualization.d.ts +142 -0
- package/lib/systems/animation/systems/RecoveryVisualization.d.ts.map +1 -0
- package/lib/systems/animation/systems/RecoveryVisualization.js +1 -0
- package/lib/systems/animation/systems/index.d.ts +17 -0
- package/lib/systems/animation/systems/index.d.ts.map +1 -0
- package/lib/systems/animation/systems/index.js +7 -0
- package/lib/systems/animation/utils/AnimationMirror.d.ts +157 -0
- package/lib/systems/animation/utils/AnimationMirror.d.ts.map +1 -0
- package/lib/systems/animation/utils/AnimationMirror.js +30 -0
- package/lib/systems/animation/utils/AnimationMirror.js.map +1 -0
- package/lib/systems/audio/BoneImpactAudioSystem.d.ts +182 -0
- package/lib/systems/audio/BoneImpactAudioSystem.d.ts.map +1 -0
- package/lib/systems/audio/index.d.ts +7 -0
- package/lib/systems/audio/index.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts +149 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.js +38 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts +233 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.js +476 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts +116 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.js +122 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts +191 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.js +169 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -0
- package/lib/systems/bodypart/InjuryIntegration.d.ts +39 -0
- package/lib/systems/bodypart/InjuryIntegration.d.ts.map +1 -0
- package/lib/systems/bodypart/InjuryTracker.d.ts +256 -0
- package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -0
- package/lib/systems/bodypart/InjuryTracker.js +240 -0
- package/lib/systems/bodypart/InjuryTracker.js.map +1 -0
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts +191 -0
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -0
- package/lib/systems/bodypart/MovementPenaltySystem.js +255 -0
- package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts +137 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js +175 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -0
- package/lib/systems/bodypart/index.d.ts +22 -0
- package/lib/systems/bodypart/index.d.ts.map +1 -0
- package/lib/systems/bodypart/index.js +8 -0
- package/lib/systems/bodypart/types.d.ts +453 -0
- package/lib/systems/bodypart/types.d.ts.map +1 -0
- package/lib/systems/bodypart/types.js +157 -0
- package/lib/systems/bodypart/types.js.map +1 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts +289 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.js +388 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -0
- package/lib/systems/breathing/feedback.d.ts +131 -0
- package/lib/systems/breathing/feedback.d.ts.map +1 -0
- package/lib/systems/breathing/feedback.js +80 -0
- package/lib/systems/breathing/feedback.js.map +1 -0
- package/lib/systems/breathing/index.d.ts +12 -0
- package/lib/systems/breathing/index.d.ts.map +1 -0
- package/lib/systems/breathing/index.js +3 -0
- package/lib/systems/breathing/integration.d.ts +140 -0
- package/lib/systems/breathing/integration.d.ts.map +1 -0
- package/lib/systems/breathing/integration.js +194 -0
- package/lib/systems/breathing/integration.js.map +1 -0
- package/lib/systems/combat/AICounterAttackIntegration.d.ts +223 -0
- package/lib/systems/combat/AICounterAttackIntegration.d.ts.map +1 -0
- package/lib/systems/combat/BalanceSystem.d.ts +667 -0
- package/lib/systems/combat/BalanceSystem.d.ts.map +1 -0
- package/lib/systems/combat/BalanceSystem.js +811 -0
- package/lib/systems/combat/BalanceSystem.js.map +1 -0
- package/lib/systems/combat/BreakingStatusEffects.d.ts +96 -0
- package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -0
- package/lib/systems/combat/BreakingStatusEffects.js +60 -0
- package/lib/systems/combat/BreakingStatusEffects.js.map +1 -0
- package/lib/systems/combat/CombatStateSystem.d.ts +264 -0
- package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -0
- package/lib/systems/combat/CombatStateSystem.js +353 -0
- package/lib/systems/combat/CombatStateSystem.js.map +1 -0
- package/lib/systems/combat/ConsciousnessSystem.d.ts +402 -0
- package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -0
- package/lib/systems/combat/ConsciousnessSystem.js +529 -0
- package/lib/systems/combat/ConsciousnessSystem.js.map +1 -0
- package/lib/systems/combat/FallIntegration.d.ts +82 -0
- package/lib/systems/combat/FallIntegration.d.ts.map +1 -0
- package/lib/systems/combat/FallIntegration.js +100 -0
- package/lib/systems/combat/FallIntegration.js.map +1 -0
- package/lib/systems/combat/GrappleSystem.d.ts +264 -0
- package/lib/systems/combat/GrappleSystem.d.ts.map +1 -0
- package/lib/systems/combat/GrappleSystem.js +393 -0
- package/lib/systems/combat/GrappleSystem.js.map +1 -0
- package/lib/systems/combat/LimbExposureSystem.d.ts +150 -0
- package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -0
- package/lib/systems/combat/LimbExposureSystem.js +308 -0
- package/lib/systems/combat/LimbExposureSystem.js.map +1 -0
- package/lib/systems/combat/PainResponseSystem.d.ts +299 -0
- package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -0
- package/lib/systems/combat/PainResponseSystem.js +401 -0
- package/lib/systems/combat/PainResponseSystem.js.map +1 -0
- package/lib/systems/combat/SlowMotionController.d.ts +123 -0
- package/lib/systems/combat/SlowMotionController.d.ts.map +1 -0
- package/lib/systems/combat/TrainingCombatSystem.d.ts +89 -0
- package/lib/systems/combat/TrainingCombatSystem.d.ts.map +1 -0
- package/lib/systems/combat/TrainingCombatSystem.js +224 -0
- package/lib/systems/combat/TrainingCombatSystem.js.map +1 -0
- package/lib/systems/combat/index.d.ts +16 -0
- package/lib/systems/combat/index.d.ts.map +1 -0
- package/lib/systems/combat/index.js +10 -0
- package/lib/systems/combat/painConsciousnessUtils.d.ts +147 -0
- package/lib/systems/combat/painConsciousnessUtils.d.ts.map +1 -0
- package/lib/systems/combat/painConsciousnessUtils.js +185 -0
- package/lib/systems/combat/painConsciousnessUtils.js.map +1 -0
- package/lib/systems/combat/typeGuards.d.ts +25 -0
- package/lib/systems/combat/typeGuards.d.ts.map +1 -0
- package/lib/systems/combat/typeGuards.js +39 -0
- package/lib/systems/combat/typeGuards.js.map +1 -0
- package/lib/systems/combat/types.d.ts +197 -0
- package/lib/systems/combat/types.d.ts.map +1 -0
- package/lib/systems/effects.d.ts +40 -0
- package/lib/systems/effects.d.ts.map +1 -0
- package/lib/systems/effects.js +44 -0
- package/lib/systems/effects.js.map +1 -0
- package/lib/systems/game.d.ts +77 -0
- package/lib/systems/game.d.ts.map +1 -0
- package/lib/systems/game.js +20 -0
- package/lib/systems/game.js.map +1 -0
- package/lib/systems/index.d.ts +24 -0
- package/lib/systems/index.d.ts.map +1 -0
- package/lib/systems/index.js +281 -0
- package/lib/systems/index.js.map +1 -0
- package/lib/systems/movement/InjuryMovementModifier.d.ts +275 -0
- package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -0
- package/lib/systems/movement/InjuryMovementModifier.js +281 -0
- package/lib/systems/movement/InjuryMovementModifier.js.map +1 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.d.ts +61 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.d.ts.map +1 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.js +75 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.js.map +1 -0
- package/lib/systems/movement/helpers/accelerationUtils.d.ts +85 -0
- package/lib/systems/movement/helpers/accelerationUtils.d.ts.map +1 -0
- package/lib/systems/movement/helpers/accelerationUtils.js +86 -0
- package/lib/systems/movement/helpers/accelerationUtils.js.map +1 -0
- package/lib/systems/movement/index.d.ts +16 -0
- package/lib/systems/movement/index.d.ts.map +1 -0
- package/lib/systems/movement/integration.d.ts +91 -0
- package/lib/systems/movement/integration.d.ts.map +1 -0
- package/lib/systems/physics/AttackMovementPhysics.d.ts +283 -0
- package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -0
- package/lib/systems/physics/AttackMovementPhysics.js +272 -0
- package/lib/systems/physics/AttackMovementPhysics.js.map +1 -0
- package/lib/systems/physics/CollisionDetection.d.ts +323 -0
- package/lib/systems/physics/CollisionDetection.d.ts.map +1 -0
- package/lib/systems/physics/CollisionDetection.js +543 -0
- package/lib/systems/physics/CollisionDetection.js.map +1 -0
- package/lib/systems/physics/CoordinateMapper.d.ts +203 -0
- package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -0
- package/lib/systems/physics/CoordinateMapper.js +242 -0
- package/lib/systems/physics/CoordinateMapper.js.map +1 -0
- package/lib/systems/physics/KnockbackPhysics.d.ts +367 -0
- package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -0
- package/lib/systems/physics/KnockbackPhysics.js +338 -0
- package/lib/systems/physics/KnockbackPhysics.js.map +1 -0
- package/lib/systems/physics/MovementPhysics.d.ts +428 -0
- package/lib/systems/physics/MovementPhysics.d.ts.map +1 -0
- package/lib/systems/physics/MovementPhysics.js +488 -0
- package/lib/systems/physics/MovementPhysics.js.map +1 -0
- package/lib/systems/physics/PhysicalReachCalculator.d.ts +261 -0
- package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -0
- package/lib/systems/physics/PhysicalReachCalculator.js +226 -0
- package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -0
- package/lib/systems/physics/SpeedModifierSystem.d.ts +302 -0
- package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -0
- package/lib/systems/physics/SpeedModifierSystem.js +301 -0
- package/lib/systems/physics/SpeedModifierSystem.js.map +1 -0
- package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts +16 -0
- package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts.map +1 -0
- package/lib/systems/physics/index.d.ts +21 -0
- package/lib/systems/physics/index.d.ts.map +1 -0
- package/lib/systems/physics/index.js +7 -0
- package/lib/systems/player.d.ts +386 -0
- package/lib/systems/player.d.ts.map +1 -0
- package/lib/systems/trigram/KoreanCulture.d.ts +127 -0
- package/lib/systems/trigram/KoreanCulture.d.ts.map +1 -0
- package/lib/systems/trigram/KoreanCulture.js +194 -0
- package/lib/systems/trigram/KoreanCulture.js.map +1 -0
- package/lib/systems/trigram/KoreanTechniques.d.ts +59 -0
- package/lib/systems/trigram/KoreanTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/KoreanTechniques.js +140 -0
- package/lib/systems/trigram/KoreanTechniques.js.map +1 -0
- package/lib/systems/trigram/StanceManager.d.ts +90 -0
- package/lib/systems/trigram/StanceManager.d.ts.map +1 -0
- package/lib/systems/trigram/StanceManager.js +192 -0
- package/lib/systems/trigram/StanceManager.js.map +1 -0
- package/lib/systems/trigram/TransitionCalculator.d.ts +132 -0
- package/lib/systems/trigram/TransitionCalculator.d.ts.map +1 -0
- package/lib/systems/trigram/TransitionCalculator.js +233 -0
- package/lib/systems/trigram/TransitionCalculator.js.map +1 -0
- package/lib/systems/trigram/TrigramCalculator.d.ts +63 -0
- package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -0
- package/lib/systems/trigram/TrigramCalculator.js +148 -0
- package/lib/systems/trigram/TrigramCalculator.js.map +1 -0
- package/lib/systems/trigram/index.d.ts +12 -0
- package/lib/systems/trigram/index.d.ts.map +1 -0
- package/lib/systems/trigram/index.js +17 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts +118 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.js +683 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GamTechniques.d.ts +44 -0
- package/lib/systems/trigram/techniques/GamTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GamTechniques.js +293 -0
- package/lib/systems/trigram/techniques/GamTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GanTechniques.d.ts +58 -0
- package/lib/systems/trigram/techniques/GanTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GanTechniques.js +323 -0
- package/lib/systems/trigram/techniques/GanTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GeonTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/GeonTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GeonTechniques.js +299 -0
- package/lib/systems/trigram/techniques/GeonTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GonTechniques.d.ts +51 -0
- package/lib/systems/trigram/techniques/GonTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GonTechniques.js +399 -0
- package/lib/systems/trigram/techniques/GonTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/JinTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/JinTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/JinTechniques.js +253 -0
- package/lib/systems/trigram/techniques/JinTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/LiTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/LiTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/LiTechniques.js +253 -0
- package/lib/systems/trigram/techniques/LiTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/SonTechniques.d.ts +43 -0
- package/lib/systems/trigram/techniques/SonTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/SonTechniques.js +293 -0
- package/lib/systems/trigram/techniques/SonTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/TaeTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/TaeTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/TaeTechniques.js +292 -0
- package/lib/systems/trigram/techniques/TaeTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.d.ts +403 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.js +493 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.js.map +1 -0
- package/lib/systems/trigram/techniques/index.d.ts +54 -0
- package/lib/systems/trigram/techniques/index.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/index.js +88 -0
- package/lib/systems/trigram/techniques/index.js.map +1 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts +506 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts.map +1 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.js +37 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.js.map +1 -0
- package/lib/systems/trigram/types.d.ts +288 -0
- package/lib/systems/trigram/types.d.ts.map +1 -0
- package/lib/systems/trigram/types.js +459 -0
- package/lib/systems/trigram/types.js.map +1 -0
- package/lib/systems/types.d.ts +1038 -0
- package/lib/systems/types.d.ts.map +1 -0
- package/lib/systems/types.js +872 -0
- package/lib/systems/types.js.map +1 -0
- package/lib/systems/vitalpoint/DamageCalculator.d.ts +255 -0
- package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -0
- package/lib/systems/vitalpoint/DamageCalculator.js +435 -0
- package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -0
- package/lib/systems/vitalpoint/HitDetection.d.ts +11 -0
- package/lib/systems/vitalpoint/HitDetection.d.ts.map +1 -0
- package/lib/systems/vitalpoint/HitDetection.js +69 -0
- package/lib/systems/vitalpoint/HitDetection.js.map +1 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.d.ts +361 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.d.ts.map +1 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.js +1709 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.js.map +1 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts +133 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.js +150 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts +92 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts.map +1 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.js +227 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.js.map +1 -0
- package/lib/systems/vitalpoint/VitalPointsData.d.ts +51 -0
- package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -0
- package/lib/systems/vitalpoint/VitalPointsData.js +1917 -0
- package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -0
- package/lib/systems/vitalpoint/index.d.ts +12 -0
- package/lib/systems/vitalpoint/index.d.ts.map +1 -0
- package/lib/systems/vitalpoint/index.js +5 -0
- package/lib/systems/vitalpoint/types.d.ts +417 -0
- package/lib/systems/vitalpoint/types.d.ts.map +1 -0
- package/lib/test/test-utils.d.ts +46 -0
- package/lib/test/test-utils.d.ts.map +1 -0
- package/lib/types/AccessibilityTypes.d.ts +232 -0
- package/lib/types/AccessibilityTypes.d.ts.map +1 -0
- package/lib/types/AccessibilityTypes.js +13 -0
- package/lib/types/AccessibilityTypes.js.map +1 -0
- package/lib/types/HtmlOverlayTypes.d.ts +161 -0
- package/lib/types/HtmlOverlayTypes.d.ts.map +1 -0
- package/lib/types/LayoutTypes.d.ts +330 -0
- package/lib/types/LayoutTypes.d.ts.map +1 -0
- package/lib/types/LayoutTypes.js +118 -0
- package/lib/types/LayoutTypes.js.map +1 -0
- package/lib/types/PhysicsTypes.d.ts +327 -0
- package/lib/types/PhysicsTypes.d.ts.map +1 -0
- package/lib/types/PhysicsTypes.js +105 -0
- package/lib/types/PhysicsTypes.js.map +1 -0
- package/lib/types/ResponsiveTypes.d.ts +210 -0
- package/lib/types/ResponsiveTypes.d.ts.map +1 -0
- package/lib/types/clothing.d.ts +298 -0
- package/lib/types/clothing.d.ts.map +1 -0
- package/lib/types/common.d.ts +1247 -0
- package/lib/types/common.d.ts.map +1 -0
- package/lib/types/common.js +622 -0
- package/lib/types/common.js.map +1 -0
- package/lib/types/constants/animations.d.ts +93 -0
- package/lib/types/constants/animations.d.ts.map +1 -0
- package/lib/types/constants/animations.js +26 -0
- package/lib/types/constants/animations.js.map +1 -0
- package/lib/types/constants/colors.d.ts +151 -0
- package/lib/types/constants/colors.d.ts.map +1 -0
- package/lib/types/constants/colors.js +155 -0
- package/lib/types/constants/colors.js.map +1 -0
- package/lib/types/constants/designSystem.d.ts +469 -0
- package/lib/types/constants/designSystem.d.ts.map +1 -0
- package/lib/types/constants/designSystem.js +406 -0
- package/lib/types/constants/designSystem.js.map +1 -0
- package/lib/types/constants/index.d.ts +181 -0
- package/lib/types/constants/index.d.ts.map +1 -0
- package/lib/types/constants/index.js +176 -0
- package/lib/types/constants/index.js.map +1 -0
- package/lib/types/constants/layout.d.ts +76 -0
- package/lib/types/constants/layout.d.ts.map +1 -0
- package/lib/types/constants/layout.js +37 -0
- package/lib/types/constants/layout.js.map +1 -0
- package/lib/types/constants/performance.d.ts +183 -0
- package/lib/types/constants/performance.d.ts.map +1 -0
- package/lib/types/constants/performance.js +134 -0
- package/lib/types/constants/performance.js.map +1 -0
- package/lib/types/constants/typography.d.ts +85 -0
- package/lib/types/constants/typography.d.ts.map +1 -0
- package/lib/types/constants/typography.js +110 -0
- package/lib/types/constants/typography.js.map +1 -0
- package/lib/types/constants/ui.d.ts +187 -0
- package/lib/types/constants/ui.d.ts.map +1 -0
- package/lib/types/constants/ui.js +113 -0
- package/lib/types/constants/ui.js.map +1 -0
- package/lib/types/facial.d.ts +266 -0
- package/lib/types/facial.d.ts.map +1 -0
- package/lib/types/facial.js +92 -0
- package/lib/types/facial.js.map +1 -0
- package/lib/types/hand-animation.d.ts +370 -0
- package/lib/types/hand-animation.d.ts.map +1 -0
- package/lib/types/hand-animation.js +55 -0
- package/lib/types/hand-animation.js.map +1 -0
- package/lib/types/index.d.ts +14 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +112 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/injury.d.ts +58 -0
- package/lib/types/injury.d.ts.map +1 -0
- package/lib/types/injury.js +23 -0
- package/lib/types/injury.js.map +1 -0
- package/lib/types/muscle.d.ts +146 -0
- package/lib/types/muscle.d.ts.map +1 -0
- package/lib/types/muscle.js +22 -0
- package/lib/types/muscle.js.map +1 -0
- package/lib/types/physics.d.ts +606 -0
- package/lib/types/physics.d.ts.map +1 -0
- package/lib/types/physics.js +162 -0
- package/lib/types/physics.js.map +1 -0
- package/lib/types/physicsConstants.d.ts +270 -0
- package/lib/types/physicsConstants.d.ts.map +1 -0
- package/lib/types/physicsConstants.js +71 -0
- package/lib/types/physicsConstants.js.map +1 -0
- package/lib/types/player-visual.d.ts +299 -0
- package/lib/types/player-visual.d.ts.map +1 -0
- package/lib/types/skeletal.d.ts +693 -0
- package/lib/types/skeletal.d.ts.map +1 -0
- package/lib/types/skeletal.js +189 -0
- package/lib/types/skeletal.js.map +1 -0
- package/lib/types/technique.d.ts +175 -0
- package/lib/types/technique.d.ts.map +1 -0
- package/lib/types/techniqueId.d.ts +51 -0
- package/lib/types/techniqueId.d.ts.map +1 -0
- package/lib/types/techniqueId.js +55 -0
- package/lib/types/techniqueId.js.map +1 -0
- package/lib/utils/EventManager.d.ts +133 -0
- package/lib/utils/EventManager.d.ts.map +1 -0
- package/lib/utils/EventManager.js +1 -0
- package/lib/utils/accessibility.d.ts +218 -0
- package/lib/utils/accessibility.d.ts.map +1 -0
- package/lib/utils/accessibility.js +167 -0
- package/lib/utils/accessibility.js.map +1 -0
- package/lib/utils/arenaWorldDimensions.d.ts +219 -0
- package/lib/utils/arenaWorldDimensions.d.ts.map +1 -0
- package/lib/utils/arenaWorldDimensions.js +154 -0
- package/lib/utils/arenaWorldDimensions.js.map +1 -0
- package/lib/utils/assetConfig.d.ts +39 -0
- package/lib/utils/assetConfig.d.ts.map +1 -0
- package/lib/utils/assetConfig.js +52 -0
- package/lib/utils/assetConfig.js.map +1 -0
- package/lib/utils/cameraShake.d.ts +115 -0
- package/lib/utils/cameraShake.d.ts.map +1 -0
- package/lib/utils/characterScaling.d.ts +305 -0
- package/lib/utils/characterScaling.d.ts.map +1 -0
- package/lib/utils/characterScaling.js +105 -0
- package/lib/utils/characterScaling.js.map +1 -0
- package/lib/utils/clothingColors.d.ts +120 -0
- package/lib/utils/clothingColors.d.ts.map +1 -0
- package/lib/utils/clothingMaterials.d.ts +65 -0
- package/lib/utils/clothingMaterials.d.ts.map +1 -0
- package/lib/utils/colorHelpers.d.ts +67 -0
- package/lib/utils/colorHelpers.d.ts.map +1 -0
- package/lib/utils/colorHelpers.js +81 -0
- package/lib/utils/colorHelpers.js.map +1 -0
- package/lib/utils/colorUtils.d.ts +113 -0
- package/lib/utils/colorUtils.d.ts.map +1 -0
- package/lib/utils/colorUtils.js +225 -0
- package/lib/utils/colorUtils.js.map +1 -0
- package/lib/utils/combatReadiness.d.ts +132 -0
- package/lib/utils/combatReadiness.d.ts.map +1 -0
- package/lib/utils/combatReadiness.js +176 -0
- package/lib/utils/combatReadiness.js.map +1 -0
- package/lib/utils/controlMapping.d.ts +171 -0
- package/lib/utils/controlMapping.d.ts.map +1 -0
- package/lib/utils/controlMapping.js +288 -0
- package/lib/utils/controlMapping.js.map +1 -0
- package/lib/utils/deviceDetection.d.ts +159 -0
- package/lib/utils/deviceDetection.d.ts.map +1 -0
- package/lib/utils/deviceDetection.js +337 -0
- package/lib/utils/deviceDetection.js.map +1 -0
- package/lib/utils/effectUtils.d.ts +63 -0
- package/lib/utils/effectUtils.d.ts.map +1 -0
- package/lib/utils/effectUtils.js +737 -0
- package/lib/utils/effectUtils.js.map +1 -0
- package/lib/utils/eventConstants.d.ts +25 -0
- package/lib/utils/eventConstants.d.ts.map +1 -0
- package/lib/utils/eventConstants.js +3 -0
- package/lib/utils/eventConstants.js.map +1 -0
- package/lib/utils/fabricTextures.d.ts +136 -0
- package/lib/utils/fabricTextures.d.ts.map +1 -0
- package/lib/utils/fabricTextures.js +301 -0
- package/lib/utils/fabricTextures.js.map +1 -0
- package/lib/utils/hapticFeedback.d.ts +224 -0
- package/lib/utils/hapticFeedback.d.ts.map +1 -0
- package/lib/utils/hapticFeedback.js +143 -0
- package/lib/utils/hapticFeedback.js.map +1 -0
- package/lib/utils/haptics.d.ts +139 -0
- package/lib/utils/haptics.d.ts.map +1 -0
- package/lib/utils/haptics.js +66 -0
- package/lib/utils/haptics.js.map +1 -0
- package/lib/utils/htmlOverlayHelpers.d.ts +168 -0
- package/lib/utils/htmlOverlayHelpers.d.ts.map +1 -0
- package/lib/utils/htmlOverlayHelpers.js +279 -0
- package/lib/utils/htmlOverlayHelpers.js.map +1 -0
- package/lib/utils/index.d.ts +15 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +92 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/inputSystem.d.ts +154 -0
- package/lib/utils/inputSystem.d.ts.map +1 -0
- package/lib/utils/inputSystem.js +324 -0
- package/lib/utils/inputSystem.js.map +1 -0
- package/lib/utils/koreanThemeHelpers.d.ts +328 -0
- package/lib/utils/koreanThemeHelpers.d.ts.map +1 -0
- package/lib/utils/koreanThemeHelpers.js +348 -0
- package/lib/utils/koreanThemeHelpers.js.map +1 -0
- package/lib/utils/math.d.ts +80 -0
- package/lib/utils/math.d.ts.map +1 -0
- package/lib/utils/math.js +70 -0
- package/lib/utils/math.js.map +1 -0
- package/lib/utils/mobileLayoutHelpers.d.ts +52 -0
- package/lib/utils/mobileLayoutHelpers.d.ts.map +1 -0
- package/lib/utils/mobileLayoutHelpers.js +66 -0
- package/lib/utils/mobileLayoutHelpers.js.map +1 -0
- package/lib/utils/mobileUIUtils.d.ts +266 -0
- package/lib/utils/mobileUIUtils.d.ts.map +1 -0
- package/lib/utils/mobileUIUtils.js +33 -0
- package/lib/utils/mobileUIUtils.js.map +1 -0
- package/lib/utils/objectPool.d.ts +92 -0
- package/lib/utils/objectPool.d.ts.map +1 -0
- package/lib/utils/particlePool.d.ts +138 -0
- package/lib/utils/particlePool.d.ts.map +1 -0
- package/lib/utils/performance/PerformanceMonitor.d.ts +93 -0
- package/lib/utils/performance/PerformanceMonitor.d.ts.map +1 -0
- package/lib/utils/performance/PerformanceMonitor.js +155 -0
- package/lib/utils/performance/PerformanceMonitor.js.map +1 -0
- package/lib/utils/performance/PerformanceOverlay3D.d.ts +20 -0
- package/lib/utils/performance/PerformanceOverlay3D.d.ts.map +1 -0
- package/lib/utils/performance/PerformanceOverlay3D.js +200 -0
- package/lib/utils/performance/PerformanceOverlay3D.js.map +1 -0
- package/lib/utils/performance/index.d.ts +12 -0
- package/lib/utils/performance/index.d.ts.map +1 -0
- package/lib/utils/performance/index.js +3 -0
- package/lib/utils/performance/usePerformanceMonitor.d.ts +46 -0
- package/lib/utils/performance/usePerformanceMonitor.d.ts.map +1 -0
- package/lib/utils/performance/usePerformanceMonitor.js +71 -0
- package/lib/utils/performance/usePerformanceMonitor.js.map +1 -0
- package/lib/utils/performanceOptimization.d.ts +142 -0
- package/lib/utils/performanceOptimization.d.ts.map +1 -0
- package/lib/utils/performanceOptimization.js +27 -0
- package/lib/utils/performanceOptimization.js.map +1 -0
- package/lib/utils/physicalAttributeValidation.d.ts +197 -0
- package/lib/utils/physicalAttributeValidation.d.ts.map +1 -0
- package/lib/utils/player3DHelpers.d.ts +82 -0
- package/lib/utils/player3DHelpers.d.ts.map +1 -0
- package/lib/utils/player3DHelpers.js +176 -0
- package/lib/utils/player3DHelpers.js.map +1 -0
- package/lib/utils/playerUtils.d.ts +137 -0
- package/lib/utils/playerUtils.d.ts.map +1 -0
- package/lib/utils/playerUtils.js +296 -0
- package/lib/utils/playerUtils.js.map +1 -0
- package/lib/utils/responsiveLayout.d.ts +207 -0
- package/lib/utils/responsiveLayout.d.ts.map +1 -0
- package/lib/utils/responsiveLayout.js +114 -0
- package/lib/utils/responsiveLayout.js.map +1 -0
- package/lib/utils/responsiveLayoutHelpers.d.ts +156 -0
- package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -0
- package/lib/utils/responsiveLayoutHelpers.js +253 -0
- package/lib/utils/responsiveLayoutHelpers.js.map +1 -0
- package/lib/utils/safeAreaUtils.d.ts +133 -0
- package/lib/utils/safeAreaUtils.d.ts.map +1 -0
- package/lib/utils/safeAreaUtils.js +65 -0
- package/lib/utils/safeAreaUtils.js.map +1 -0
- package/lib/utils/sharedPhysicsConfig.d.ts +125 -0
- package/lib/utils/sharedPhysicsConfig.d.ts.map +1 -0
- package/lib/utils/sharedPhysicsConfig.js +119 -0
- package/lib/utils/sharedPhysicsConfig.js.map +1 -0
- package/lib/utils/skeletonScaling.d.ts +285 -0
- package/lib/utils/skeletonScaling.d.ts.map +1 -0
- package/lib/utils/skeletonScaling.js +46 -0
- package/lib/utils/skeletonScaling.js.map +1 -0
- package/lib/utils/stanceHelpers.d.ts +85 -0
- package/lib/utils/stanceHelpers.d.ts.map +1 -0
- package/lib/utils/stanceHelpers.js +132 -0
- package/lib/utils/stanceHelpers.js.map +1 -0
- package/lib/utils/threeObjectPool.d.ts +323 -0
- package/lib/utils/threeObjectPool.d.ts.map +1 -0
- package/lib/utils/threeObjectPool.js +345 -0
- package/lib/utils/threeObjectPool.js.map +1 -0
- package/lib/utils/visualEffects.d.ts +358 -0
- package/lib/utils/visualEffects.d.ts.map +1 -0
- package/lib/utils/visualEffects.js +423 -0
- package/lib/utils/visualEffects.js.map +1 -0
- package/package.json +222 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hand3D.js","names":[],"sources":["../../../../../src/components/shared/three/anatomy/Hand3D.tsx"],"sourcesContent":["/**\n * Hand3D component with finger geometry for martial arts techniques\n *\n * Renders detailed hand with palm and 5 fingers, supporting multiple\n * Korean martial arts hand poses (Fist, Knife-hand, Spear-hand, etc.).\n *\n * Implements LOD (Level of Detail) for performance optimization:\n * - High detail (<5 units): Full finger bones (4 segments per finger)\n * - Medium detail (5-15 units): Simplified fingers (3 segments)\n * - Low detail (>15 units): No finger detail (hand as single unit)\n *\n * @module components/three/Hand3D\n * @category 3D Components\n * @korean 손3D컴포넌트\n */\n\nimport React, { useEffect, useMemo } from \"react\";\nimport * as THREE from \"three\";\nimport { KOREAN_COLORS } from \"../../../../types/constants\";\nimport type {\n FingerCurl,\n HandLODConfig,\n HandPoseType,\n HandSide,\n} from \"../../../../types/hand-animation\";\n\n/**\n * Props for Hand3D component\n *\n * @public\n * @korean 손3D속성\n */\nexport interface Hand3DProps {\n /**\n * Hand side (left or right)\n * @korean 손쪽\n */\n readonly side: HandSide;\n\n /**\n * Current hand pose\n * @korean 현재손자세\n */\n readonly pose: HandPoseType;\n\n /**\n * Finger curl amounts (0-1 per finger)\n * @korean 손가락구부림\n */\n readonly fingerCurl: FingerCurl;\n\n /**\n * Distance from camera for LOD\n * @korean 카메라거리\n */\n readonly distanceFromCamera: number;\n\n /**\n * Wrist rotation\n * @korean 손목회전\n */\n readonly wristRotation: THREE.Euler;\n\n /**\n * Whether hand is highlighted for vital point targeting\n * @korean 표시여부\n */\n readonly isHighlighted?: boolean;\n\n /**\n * Highlight mode for striking surfaces\n * @korean 표시모드\n */\n readonly highlightMode?:\n | \"none\"\n | \"knuckles\"\n | \"palm\"\n | \"knife_edge\"\n | \"fingertips\"\n | null;\n\n /**\n * Base skin color\n * @korean 피부색\n */\n readonly skinColor?: number;\n\n /**\n * Scale multiplier\n * @korean 크기배율\n */\n readonly scale?: number;\n}\n\n/**\n * Determine LOD config based on camera distance\n *\n * @param distance - Distance from camera\n * @returns LOD configuration\n * @korean LOD설정결정\n */\nconst getLODConfig = (distance: number): HandLODConfig => {\n if (distance < 5) {\n return {\n detailLevel: \"high\",\n distanceThresholds: { high: 5, medium: 15, low: 100 },\n renderFingers: true,\n fingerSegments: 4,\n };\n } else if (distance < 15) {\n return {\n detailLevel: \"medium\",\n distanceThresholds: { high: 5, medium: 15, low: 100 },\n renderFingers: true,\n fingerSegments: 3,\n };\n } else {\n return {\n detailLevel: \"low\",\n distanceThresholds: { high: 5, medium: 15, low: 100 },\n renderFingers: false,\n fingerSegments: 0,\n };\n }\n};\n\n/**\n * Finger segment component\n *\n * Renders a single finger segment (proximal, intermediate, or distal phalanx).\n *\n * @korean 손가락세그먼트컴포넌트\n */\ninterface FingerSegmentProps {\n readonly position: [number, number, number];\n readonly rotation: [number, number, number];\n readonly length: number;\n readonly radius: number;\n readonly color: number;\n}\n\nconst FingerSegment: React.FC<FingerSegmentProps> = ({\n position,\n rotation,\n length,\n radius,\n color,\n}) => {\n // Memoize material to avoid recreating on every render\n const material = useMemo(\n () =>\n new THREE.MeshPhysicalMaterial({\n color: color,\n metalness: 0,\n roughness: 0.6,\n clearcoat: 0.3,\n clearcoatRoughness: 0.5,\n // PBR skin properties\n transmission: 0,\n thickness: 0.1,\n ior: 1.4, // Index of refraction for skin\n sheen: 0.1, // Subtle skin sheen\n sheenRoughness: 0.8,\n // Subtle emissive for alive appearance\n emissive: new THREE.Color(color),\n emissiveIntensity: 0.02,\n }),\n [color],\n );\n\n // Dispose material on unmount to prevent memory leaks\n useEffect(() => {\n return () => {\n material.dispose();\n };\n }, [material]);\n\n return (\n <mesh position={position} rotation={rotation} castShadow receiveShadow>\n <capsuleGeometry args={[radius, length, 4, 8]} />\n <primitive object={material} attach=\"material\" />\n </mesh>\n );\n};\n\n/**\n * Single finger component with curl animation\n *\n * @korean 손가락컴포넌트\n */\ninterface FingerProps {\n readonly fingerName: string;\n readonly basePosition: [number, number, number];\n readonly curl: number;\n readonly segments: number;\n readonly isHighlighted: boolean;\n readonly skinColor: number;\n}\n\nconst Finger: React.FC<FingerProps> = ({\n fingerName,\n basePosition,\n curl,\n segments,\n isHighlighted,\n skinColor,\n}) => {\n // Finger dimensions based on anatomical proportions\n // For ~180cm person: index ~7cm, middle ~8cm, ring ~7.5cm, pinky ~6cm, thumb ~5cm\n // These dimensions are in METERS for Three.js\n const dimensions = useMemo(() => {\n // Finger segment lengths based on anatomical proportions (in meters)\n // Total finger length: proximal + intermediate + distal\n // Index: ~7cm total = 0.03 + 0.022 + 0.018\n const baseLength =\n fingerName === \"thumb\"\n ? 0.025 // Thumb proximal is shorter\n : fingerName === \"pinky\"\n ? 0.022 // Pinky is shorter\n : 0.03; // Other fingers\n\n // Finger thickness: ~1.5-1.8cm diameter (0.75-0.9cm radius)\n const baseRadius =\n fingerName === \"pinky\"\n ? 0.006 // Pinky is thinner\n : fingerName === \"thumb\"\n ? 0.009 // Thumb is thicker\n : 0.007;\n\n return {\n proximalLength: baseLength,\n intermediateLength: baseLength * 0.75,\n distalLength: baseLength * 0.55,\n radius: baseRadius,\n };\n }, [fingerName]);\n\n // Calculate curl rotations for each segment\n // Curl value 0-1 maps to rotation angles\n // These factors represent biomechanical constraints of human finger joints\n const PROXIMAL_CURL_FACTOR = 0.5; // Proximal joint bends less (0-90 degrees)\n const INTERMEDIATE_CURL_FACTOR = 0.7; // Middle joint bends moderately (0-126 degrees)\n const DISTAL_CURL_FACTOR = 1.0; // Distal joint bends most (0-180 degrees)\n\n const proximalCurl = curl * PROXIMAL_CURL_FACTOR * Math.PI;\n const intermediateCurl = curl * INTERMEDIATE_CURL_FACTOR * Math.PI;\n const distalCurl = curl * DISTAL_CURL_FACTOR * Math.PI;\n\n // Highlight with color change only (NO glow/emissive)\n const highlightColor = isHighlighted ? KOREAN_COLORS.ACCENT_RED : skinColor;\n\n return (\n <group position={basePosition}>\n {/* Proximal phalanx (knuckle joint) */}\n <FingerSegment\n position={[0, dimensions.proximalLength / 2, 0]}\n rotation={[0, 0, proximalCurl]}\n length={dimensions.proximalLength}\n radius={dimensions.radius}\n color={highlightColor}\n />\n\n {/* Intermediate phalanx (middle joint) - skip for thumb or low detail */}\n {segments >= 4 && fingerName !== \"thumb\" && (\n <FingerSegment\n position={[\n 0,\n dimensions.proximalLength + dimensions.intermediateLength / 2,\n 0,\n ]}\n rotation={[0, 0, intermediateCurl]}\n length={dimensions.intermediateLength}\n radius={dimensions.radius * 0.9}\n color={highlightColor}\n />\n )}\n\n {/* Distal phalanx (fingertip) */}\n <FingerSegment\n position={[\n 0,\n dimensions.proximalLength +\n (fingerName !== \"thumb\" && segments >= 4\n ? dimensions.intermediateLength\n : 0) +\n dimensions.distalLength / 2,\n 0,\n ]}\n rotation={[0, 0, distalCurl]}\n length={dimensions.distalLength}\n radius={dimensions.radius * 0.7}\n color={highlightColor}\n />\n </group>\n );\n};\n\n/**\n * Hand3D Component\n *\n * Complete hand with palm and 5 fingers, supporting Korean martial arts\n * hand poses with LOD optimization for performance.\n *\n * @example\n * ```tsx\n * <Hand3D\n * side=\"right\"\n * pose={HandPoseType.FIST}\n * fingerCurl={{\n * thumb: 0.8,\n * index: 1.0,\n * middle: 1.0,\n * ring: 1.0,\n * pinky: 1.0,\n * }}\n * distanceFromCamera={3}\n * wristRotation={new THREE.Euler(0, 0, 0)}\n * isHighlighted={false}\n * highlightMode=\"knuckles\"\n * />\n * ```\n *\n * @korean 손3D컴포넌트\n */\nexport const Hand3D: React.FC<Hand3DProps> = ({\n side,\n // pose, // TODO: Reserved for future pose-specific hand adjustments (e.g., different palm sizes per pose)\n fingerCurl,\n distanceFromCamera,\n wristRotation,\n isHighlighted = false,\n highlightMode = null,\n skinColor = 0xffdbac,\n scale = 1.0,\n}) => {\n // Determine LOD based on distance\n const lodConfig = useMemo(\n () => getLODConfig(distanceFromCamera),\n [distanceFromCamera],\n );\n\n // Hand orientation\n const sideMultiplier = side === \"left\" ? -1 : 1;\n\n // Palm dimensions (realistic for ~180cm person)\n // Palm width: ~8-9cm, Palm length (metacarpal area): ~9-10cm\n // Total hand length including palm and fingers: ~18-19cm\n // These dimensions are in METERS for Three.js\n const palmWidth = 0.085 * scale; // 8.5cm palm width\n const palmLength = 0.095 * scale; // 9.5cm palm/metacarpal length\n const palmThickness = 0.025 * scale; // 2.5cm palm thickness\n\n // Determine which parts to highlight\n const highlightKnuckles = highlightMode === \"knuckles\";\n const highlightPalm = highlightMode === \"palm\";\n const highlightKnifeEdge = highlightMode === \"knife_edge\";\n const highlightFingertips = highlightMode === \"fingertips\";\n\n // Palm color (highlight with brighter color, NO emissive/glow)\n const palmColor =\n isHighlighted && highlightPalm ? KOREAN_COLORS.ACCENT_GOLD : skinColor;\n\n return (\n <group\n rotation={[wristRotation.x, wristRotation.y, wristRotation.z]}\n name={`hand-3d-${side}`}\n >\n {/* Wrist connector - smooth sphere bridging forearm to palm */}\n <mesh\n position={[0, -palmLength * 0.45, 0]}\n castShadow\n receiveShadow\n name={`hand-wrist-bridge-${side}`}\n >\n <sphereGeometry args={[palmWidth * 0.35, 8, 8]} />\n <meshPhysicalMaterial\n color={skinColor}\n metalness={0}\n roughness={0.6}\n clearcoat={0.3}\n clearcoatRoughness={0.5}\n transmission={0}\n thickness={0.1}\n ior={1.4}\n sheen={0.1}\n sheenRoughness={0.8}\n emissive={new THREE.Color(0xff6040)}\n emissiveIntensity={0.02}\n />\n </mesh>\n\n {/* Palm */}\n <mesh castShadow receiveShadow name={`hand-palm-${side}`}>\n <boxGeometry args={[palmWidth, palmLength, palmThickness]} />\n <meshPhysicalMaterial\n color={palmColor}\n metalness={0}\n roughness={0.6}\n clearcoat={0.3}\n clearcoatRoughness={0.5}\n // PBR skin properties\n transmission={0}\n thickness={0.1}\n ior={1.4} // Index of refraction for skin\n sheen={0.1} // Subtle skin sheen\n sheenRoughness={0.8}\n // Subtle emissive for alive appearance\n emissive={new THREE.Color(0xff6040)}\n emissiveIntensity={0.02}\n />\n </mesh>\n\n {/* Knife edge highlight (pinky side of hand) - emissive highlight for visibility */}\n {isHighlighted && highlightKnifeEdge && (\n <mesh\n position={[(-palmWidth / 2) * sideMultiplier, 0, 0]}\n castShadow\n receiveShadow\n name={`hand-knife-edge-${side}`}\n >\n <boxGeometry args={[0.005, palmLength, palmThickness]} />\n <meshPhysicalMaterial\n color={KOREAN_COLORS.ACCENT_GOLD}\n metalness={0.8}\n roughness={0.2}\n clearcoat={0.8}\n clearcoatRoughness={0.1}\n // High emissive for striking surface visibility\n emissive={KOREAN_COLORS.ACCENT_GOLD}\n emissiveIntensity={2.0}\n transmission={0}\n thickness={0.05}\n />\n </mesh>\n )}\n\n {/* Render fingers based on LOD */}\n {lodConfig.renderFingers && (\n <>\n {/* Thumb - offset toward palm center and forward */}\n <Finger\n fingerName=\"thumb\"\n basePosition={[\n 0.015 * sideMultiplier * scale,\n palmLength / 2,\n palmThickness / 2,\n ]}\n curl={fingerCurl.thumb}\n segments={3} // Thumb has no intermediate phalanx\n isHighlighted={isHighlighted && highlightFingertips}\n skinColor={skinColor}\n />\n\n {/* Index finger */}\n <Finger\n fingerName=\"index\"\n basePosition={[0.015 * sideMultiplier * scale, palmLength / 2, 0]}\n curl={fingerCurl.index}\n segments={lodConfig.fingerSegments}\n isHighlighted={\n isHighlighted && (highlightFingertips || highlightKnuckles)\n }\n skinColor={skinColor}\n />\n\n {/* Middle finger */}\n <Finger\n fingerName=\"middle\"\n basePosition={[0.005 * sideMultiplier * scale, palmLength / 2, 0]}\n curl={fingerCurl.middle}\n segments={lodConfig.fingerSegments}\n isHighlighted={\n isHighlighted && (highlightFingertips || highlightKnuckles)\n }\n skinColor={skinColor}\n />\n\n {/* Ring finger */}\n <Finger\n fingerName=\"ring\"\n basePosition={[-0.005 * sideMultiplier * scale, palmLength / 2, 0]}\n curl={fingerCurl.ring}\n segments={lodConfig.fingerSegments}\n isHighlighted={\n isHighlighted && (highlightFingertips || highlightKnuckles)\n }\n skinColor={skinColor}\n />\n\n {/* Pinky finger */}\n <Finger\n fingerName=\"pinky\"\n basePosition={[-0.015 * sideMultiplier * scale, palmLength / 2, 0]}\n curl={fingerCurl.pinky}\n segments={lodConfig.fingerSegments}\n isHighlighted={\n isHighlighted && (highlightFingertips || highlightKnuckles)\n }\n skinColor={skinColor}\n />\n </>\n )}\n\n {/* Low detail: just palm, no fingers */}\n {!lodConfig.renderFingers && (\n <mesh\n position={[0, palmLength / 2, 0]}\n castShadow\n receiveShadow\n name={`hand-simple-${side}`}\n >\n <capsuleGeometry args={[palmWidth / 2, palmLength * 0.3, 4, 8]} />\n <meshStandardMaterial\n color={skinColor}\n metalness={0.1}\n roughness={0.8}\n />\n </mesh>\n )}\n </group>\n );\n};\n\nexport default Hand3D;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ActionFeedback - Combat action feedback display component
|
|
3
|
+
*
|
|
4
|
+
* Displays action indicators like "Perfect!", "Critical!", "Blocked", "Dodged",
|
|
5
|
+
* and technique names with Korean-English bilingual text.
|
|
6
|
+
*
|
|
7
|
+
* Uses Html overlay from @react-three/drei for rendering within 3D scenes.
|
|
8
|
+
*
|
|
9
|
+
* @module components/shared/three/effects/ActionFeedback
|
|
10
|
+
* @category Shared Effects
|
|
11
|
+
* @korean 액션피드백
|
|
12
|
+
*/
|
|
13
|
+
import React from "react";
|
|
14
|
+
import { ActionFeedback as ActionFeedbackData } from "../../../../hooks/useActionFeedback";
|
|
15
|
+
import { type PhysicsArenaBounds } from "../../../../types/PhysicsTypes";
|
|
16
|
+
/**
|
|
17
|
+
* Props for the ActionFeedback component
|
|
18
|
+
*/
|
|
19
|
+
export interface ActionFeedbackProps {
|
|
20
|
+
/** Array of action feedbacks to display */
|
|
21
|
+
readonly feedbacks: readonly ActionFeedbackData[];
|
|
22
|
+
/** Whether to use mobile-optimized sizing */
|
|
23
|
+
readonly isMobile?: boolean;
|
|
24
|
+
/** Arena bounds for 3D positioning (physics-first with meter dimensions) */
|
|
25
|
+
readonly arenaBounds?: PhysicsArenaBounds;
|
|
26
|
+
/** Duration of animation in ms (default: 1200) */
|
|
27
|
+
readonly animationDuration?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Props for technique name display
|
|
31
|
+
*/
|
|
32
|
+
export interface TechniqueNameProps {
|
|
33
|
+
/** Korean technique name */
|
|
34
|
+
readonly korean: string;
|
|
35
|
+
/** English technique name */
|
|
36
|
+
readonly english: string;
|
|
37
|
+
/** Whether to use mobile-optimized sizing */
|
|
38
|
+
readonly isMobile?: boolean;
|
|
39
|
+
/** Animation duration in ms */
|
|
40
|
+
readonly duration?: number;
|
|
41
|
+
/** Callback when animation completes */
|
|
42
|
+
readonly onComplete?: () => void;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* ActionFeedback Component
|
|
46
|
+
*
|
|
47
|
+
* Renders multiple action feedback indicators in the 3D scene.
|
|
48
|
+
* Each indicator floats upward and fades out over time.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```tsx
|
|
52
|
+
* <ActionFeedback
|
|
53
|
+
* feedbacks={actionFeedbacks}
|
|
54
|
+
* isMobile={isMobile}
|
|
55
|
+
* arenaBounds={arenaBounds}
|
|
56
|
+
* />
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare const ActionFeedback: React.FC<ActionFeedbackProps>;
|
|
60
|
+
/**
|
|
61
|
+
* TechniqueName Component
|
|
62
|
+
*
|
|
63
|
+
* Displays the current technique name in Korean and English.
|
|
64
|
+
* Appears at the center of the screen with a dramatic animation.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* <TechniqueName
|
|
69
|
+
* korean="천둥벽력"
|
|
70
|
+
* english="Thunder Strike"
|
|
71
|
+
* isMobile={isMobile}
|
|
72
|
+
* duration={2000}
|
|
73
|
+
* />
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare const TechniqueName: React.FC<TechniqueNameProps>;
|
|
77
|
+
export default ActionFeedback;
|
|
78
|
+
//# sourceMappingURL=ActionFeedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionFeedback.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/three/effects/ActionFeedback.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EACL,cAAc,IAAI,kBAAkB,EAErC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAgC,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AASvG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAkID;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsBxD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6GtD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { KOREAN_COLORS } from "../../../../types/constants/colors.js";
|
|
2
|
+
import { FONT_FAMILY } from "../../../../types/constants/typography.js";
|
|
3
|
+
import "../../../../types/constants/index.js";
|
|
4
|
+
import { DEFAULT_PHYSICS_ARENA_BOUNDS } from "../../../../types/PhysicsTypes.js";
|
|
5
|
+
import { hexColorToCSS, hexToRgbaString } from "../../../../utils/colorUtils.js";
|
|
6
|
+
import { useMemo, useRef, useState } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { useFrame } from "@react-three/fiber";
|
|
9
|
+
import { Html } from "@react-three/drei";
|
|
10
|
+
//#region src/components/shared/three/effects/ActionFeedback.tsx
|
|
11
|
+
/**
|
|
12
|
+
* ActionFeedback - Combat action feedback display component
|
|
13
|
+
*
|
|
14
|
+
* Displays action indicators like "Perfect!", "Critical!", "Blocked", "Dodged",
|
|
15
|
+
* and technique names with Korean-English bilingual text.
|
|
16
|
+
*
|
|
17
|
+
* Uses Html overlay from @react-three/drei for rendering within 3D scenes.
|
|
18
|
+
*
|
|
19
|
+
* @module components/shared/three/effects/ActionFeedback
|
|
20
|
+
* @category Shared Effects
|
|
21
|
+
* @korean 액션피드백
|
|
22
|
+
*/
|
|
23
|
+
/** Fade in completes at 20% of total duration */
|
|
24
|
+
var FADE_IN_THRESHOLD = .2;
|
|
25
|
+
/** Fade out begins at 80% of total duration */
|
|
26
|
+
var FADE_OUT_THRESHOLD = .8;
|
|
27
|
+
/**
|
|
28
|
+
* Get color based on feedback type
|
|
29
|
+
*/
|
|
30
|
+
function getFeedbackColor(type) {
|
|
31
|
+
switch (type) {
|
|
32
|
+
case "perfect": return hexColorToCSS(KOREAN_COLORS.ACCENT_GOLD);
|
|
33
|
+
case "critical": return hexColorToCSS(KOREAN_COLORS.ACCENT_RED);
|
|
34
|
+
case "blocked": return hexColorToCSS(KOREAN_COLORS.ACCENT_CYAN);
|
|
35
|
+
case "dodged": return hexColorToCSS(KOREAN_COLORS.ACCENT_GREEN);
|
|
36
|
+
case "technique": return hexColorToCSS(KOREAN_COLORS.SECONDARY_MAGENTA);
|
|
37
|
+
case "combo_milestone": return hexColorToCSS(KOREAN_COLORS.ACCENT_GOLD);
|
|
38
|
+
default: return hexColorToCSS(KOREAN_COLORS.TEXT_PRIMARY);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get glow color based on feedback type
|
|
43
|
+
*/
|
|
44
|
+
function getGlowColor(type) {
|
|
45
|
+
switch (type) {
|
|
46
|
+
case "perfect": return hexToRgbaString(KOREAN_COLORS.ACCENT_GOLD, .8);
|
|
47
|
+
case "critical": return hexToRgbaString(KOREAN_COLORS.ACCENT_RED, .8);
|
|
48
|
+
case "blocked": return hexToRgbaString(KOREAN_COLORS.ACCENT_CYAN, .6);
|
|
49
|
+
case "dodged": return hexToRgbaString(KOREAN_COLORS.ACCENT_GREEN, .6);
|
|
50
|
+
case "technique": return hexToRgbaString(KOREAN_COLORS.SECONDARY_MAGENTA, .8);
|
|
51
|
+
case "combo_milestone": return hexToRgbaString(KOREAN_COLORS.ACCENT_GOLD, .8);
|
|
52
|
+
default: return hexToRgbaString(KOREAN_COLORS.TEXT_PRIMARY, .4);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
var SingleFeedback = ({ feedback, isMobile, arenaBounds, animationDuration }) => {
|
|
56
|
+
const [progress, setProgress] = useState(0);
|
|
57
|
+
const startTimeRef = useRef(feedback.timestamp);
|
|
58
|
+
const halfWidth = arenaBounds.worldWidthMeters / 2;
|
|
59
|
+
const halfDepth = arenaBounds.worldDepthMeters / 2;
|
|
60
|
+
const clampedX = Math.min(halfWidth, Math.max(-halfWidth, feedback.position.x));
|
|
61
|
+
const clampedZ = Math.min(halfDepth, Math.max(-halfDepth, feedback.position.y));
|
|
62
|
+
const position3D = [
|
|
63
|
+
clampedX,
|
|
64
|
+
2.5 + progress * 1.5,
|
|
65
|
+
clampedZ
|
|
66
|
+
];
|
|
67
|
+
useFrame(() => {
|
|
68
|
+
const elapsed = Date.now() - startTimeRef.current;
|
|
69
|
+
setProgress(Math.min(elapsed / animationDuration, 1));
|
|
70
|
+
});
|
|
71
|
+
if (progress >= 1) return null;
|
|
72
|
+
const opacity = 1 - progress;
|
|
73
|
+
const scale = 1 + (progress < .2 ? progress * 2 : (1 - progress) * .5);
|
|
74
|
+
const fontSize = isMobile ? 18 : 24;
|
|
75
|
+
const color = getFeedbackColor(feedback.type);
|
|
76
|
+
const glowColor = getGlowColor(feedback.type);
|
|
77
|
+
return /* @__PURE__ */ jsx(Html, {
|
|
78
|
+
position: position3D,
|
|
79
|
+
center: true,
|
|
80
|
+
distanceFactor: 10,
|
|
81
|
+
style: { pointerEvents: "none" },
|
|
82
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
83
|
+
"data-testid": `action-feedback-${feedback.id}`,
|
|
84
|
+
style: {
|
|
85
|
+
fontSize: `${fontSize}px`,
|
|
86
|
+
fontWeight: "bold",
|
|
87
|
+
fontFamily: FONT_FAMILY.KOREAN,
|
|
88
|
+
color,
|
|
89
|
+
opacity,
|
|
90
|
+
transform: `scale(${scale})`,
|
|
91
|
+
textShadow: `
|
|
92
|
+
0 0 10px ${glowColor},
|
|
93
|
+
0 0 20px ${glowColor},
|
|
94
|
+
2px 2px 4px rgba(0, 0, 0, 0.9)
|
|
95
|
+
`,
|
|
96
|
+
whiteSpace: "nowrap",
|
|
97
|
+
userSelect: "none",
|
|
98
|
+
textAlign: "center"
|
|
99
|
+
},
|
|
100
|
+
children: [
|
|
101
|
+
feedback.textKorean,
|
|
102
|
+
" | ",
|
|
103
|
+
feedback.text
|
|
104
|
+
]
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* ActionFeedback Component
|
|
110
|
+
*
|
|
111
|
+
* Renders multiple action feedback indicators in the 3D scene.
|
|
112
|
+
* Each indicator floats upward and fades out over time.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```tsx
|
|
116
|
+
* <ActionFeedback
|
|
117
|
+
* feedbacks={actionFeedbacks}
|
|
118
|
+
* isMobile={isMobile}
|
|
119
|
+
* arenaBounds={arenaBounds}
|
|
120
|
+
* />
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
var ActionFeedback = ({ feedbacks, isMobile = false, arenaBounds = DEFAULT_PHYSICS_ARENA_BOUNDS, animationDuration = 1200 }) => {
|
|
124
|
+
const visibleFeedbacks = useMemo(() => [...feedbacks], [feedbacks]);
|
|
125
|
+
return /* @__PURE__ */ jsx("group", {
|
|
126
|
+
"data-testid": "action-feedback-container",
|
|
127
|
+
children: visibleFeedbacks.map((feedback) => /* @__PURE__ */ jsx(SingleFeedback, {
|
|
128
|
+
feedback,
|
|
129
|
+
isMobile,
|
|
130
|
+
arenaBounds,
|
|
131
|
+
animationDuration
|
|
132
|
+
}, feedback.id))
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* TechniqueName Component
|
|
137
|
+
*
|
|
138
|
+
* Displays the current technique name in Korean and English.
|
|
139
|
+
* Appears at the center of the screen with a dramatic animation.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```tsx
|
|
143
|
+
* <TechniqueName
|
|
144
|
+
* korean="천둥벽력"
|
|
145
|
+
* english="Thunder Strike"
|
|
146
|
+
* isMobile={isMobile}
|
|
147
|
+
* duration={2000}
|
|
148
|
+
* />
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
var TechniqueName = ({ korean, english, isMobile = false, duration = 2e3, onComplete }) => {
|
|
152
|
+
const [opacity, setOpacity] = useState(0);
|
|
153
|
+
const [scale, setScale] = useState(.5);
|
|
154
|
+
const [startTime] = useState(() => Date.now());
|
|
155
|
+
const startTimeRef = useRef(startTime);
|
|
156
|
+
useFrame(() => {
|
|
157
|
+
const elapsed = Date.now() - startTimeRef.current;
|
|
158
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
159
|
+
if (progress < FADE_IN_THRESHOLD) {
|
|
160
|
+
const fadeInProgress = progress / FADE_IN_THRESHOLD;
|
|
161
|
+
setOpacity(fadeInProgress);
|
|
162
|
+
setScale(.5 + fadeInProgress * .5);
|
|
163
|
+
} else if (progress < FADE_OUT_THRESHOLD) {
|
|
164
|
+
setOpacity(1);
|
|
165
|
+
setScale(1);
|
|
166
|
+
} else {
|
|
167
|
+
const fadeOutProgress = (progress - FADE_OUT_THRESHOLD) / (1 - FADE_OUT_THRESHOLD);
|
|
168
|
+
setOpacity(1 - fadeOutProgress);
|
|
169
|
+
setScale(1 + fadeOutProgress * .2);
|
|
170
|
+
}
|
|
171
|
+
if (progress >= 1 && onComplete) onComplete();
|
|
172
|
+
});
|
|
173
|
+
const position3D = [
|
|
174
|
+
0,
|
|
175
|
+
3.5,
|
|
176
|
+
0
|
|
177
|
+
];
|
|
178
|
+
const mainFontSize = isMobile ? 28 : 42;
|
|
179
|
+
const subFontSize = isMobile ? 16 : 24;
|
|
180
|
+
const color = hexColorToCSS(KOREAN_COLORS.SECONDARY_MAGENTA);
|
|
181
|
+
const glowColor = hexToRgbaString(KOREAN_COLORS.SECONDARY_MAGENTA, .8);
|
|
182
|
+
return /* @__PURE__ */ jsx(Html, {
|
|
183
|
+
position: position3D,
|
|
184
|
+
center: true,
|
|
185
|
+
distanceFactor: 10,
|
|
186
|
+
style: { pointerEvents: "none" },
|
|
187
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
188
|
+
"data-testid": "technique-name",
|
|
189
|
+
style: {
|
|
190
|
+
textAlign: "center",
|
|
191
|
+
opacity,
|
|
192
|
+
transform: `scale(${scale})`,
|
|
193
|
+
transition: "transform 0.1s ease-out"
|
|
194
|
+
},
|
|
195
|
+
children: [
|
|
196
|
+
/* @__PURE__ */ jsx("div", {
|
|
197
|
+
style: {
|
|
198
|
+
fontSize: `${mainFontSize}px`,
|
|
199
|
+
fontWeight: "bold",
|
|
200
|
+
fontFamily: FONT_FAMILY.KOREAN,
|
|
201
|
+
color,
|
|
202
|
+
textShadow: `
|
|
203
|
+
0 0 15px ${glowColor},
|
|
204
|
+
0 0 30px ${glowColor},
|
|
205
|
+
3px 3px 6px rgba(0, 0, 0, 0.9)
|
|
206
|
+
`,
|
|
207
|
+
letterSpacing: "4px"
|
|
208
|
+
},
|
|
209
|
+
children: korean
|
|
210
|
+
}),
|
|
211
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
212
|
+
width: "60px",
|
|
213
|
+
height: "2px",
|
|
214
|
+
background: `linear-gradient(90deg, transparent, ${color}, transparent)`,
|
|
215
|
+
margin: "8px auto"
|
|
216
|
+
} }),
|
|
217
|
+
/* @__PURE__ */ jsx("div", {
|
|
218
|
+
style: {
|
|
219
|
+
fontSize: `${subFontSize}px`,
|
|
220
|
+
fontWeight: "bold",
|
|
221
|
+
fontFamily: FONT_FAMILY.KOREAN,
|
|
222
|
+
color: hexColorToCSS(KOREAN_COLORS.TEXT_SECONDARY),
|
|
223
|
+
textShadow: "2px 2px 4px rgba(0, 0, 0, 0.8)",
|
|
224
|
+
letterSpacing: "2px",
|
|
225
|
+
textTransform: "uppercase"
|
|
226
|
+
},
|
|
227
|
+
children: english
|
|
228
|
+
})
|
|
229
|
+
]
|
|
230
|
+
})
|
|
231
|
+
});
|
|
232
|
+
};
|
|
233
|
+
//#endregion
|
|
234
|
+
export { TechniqueName, ActionFeedback as default };
|
|
235
|
+
|
|
236
|
+
//# sourceMappingURL=ActionFeedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionFeedback.js","names":[],"sources":["../../../../../src/components/shared/three/effects/ActionFeedback.tsx"],"sourcesContent":["/**\n * ActionFeedback - Combat action feedback display component\n *\n * Displays action indicators like \"Perfect!\", \"Critical!\", \"Blocked\", \"Dodged\",\n * and technique names with Korean-English bilingual text.\n *\n * Uses Html overlay from @react-three/drei for rendering within 3D scenes.\n *\n * @module components/shared/three/effects/ActionFeedback\n * @category Shared Effects\n * @korean 액션피드백\n */\n\nimport { Html } from \"@react-three/drei\";\nimport { useFrame } from \"@react-three/fiber\";\nimport React, { useMemo, useRef, useState } from \"react\";\nimport {\n ActionFeedback as ActionFeedbackData,\n ActionFeedbackType,\n} from \"../../../../hooks/useActionFeedback\";\nimport { FONT_FAMILY, KOREAN_COLORS } from \"../../../../types/constants\";\nimport { DEFAULT_PHYSICS_ARENA_BOUNDS, type PhysicsArenaBounds } from \"../../../../types/PhysicsTypes\";\nimport { hexColorToCSS, hexToRgbaString } from \"../../../../utils/colorUtils\";\n\n// Animation phase thresholds (as percentage of total duration)\n/** Fade in completes at 20% of total duration */\nconst FADE_IN_THRESHOLD = 0.2;\n/** Fade out begins at 80% of total duration */\nconst FADE_OUT_THRESHOLD = 0.8;\n\n/**\n * Props for the ActionFeedback component\n */\nexport interface ActionFeedbackProps {\n /** Array of action feedbacks to display */\n readonly feedbacks: readonly ActionFeedbackData[];\n /** Whether to use mobile-optimized sizing */\n readonly isMobile?: boolean;\n /** Arena bounds for 3D positioning (physics-first with meter dimensions) */\n readonly arenaBounds?: PhysicsArenaBounds;\n /** Duration of animation in ms (default: 1200) */\n readonly animationDuration?: number;\n}\n\n/**\n * Props for technique name display\n */\nexport interface TechniqueNameProps {\n /** Korean technique name */\n readonly korean: string;\n /** English technique name */\n readonly english: string;\n /** Whether to use mobile-optimized sizing */\n readonly isMobile?: boolean;\n /** Animation duration in ms */\n readonly duration?: number;\n /** Callback when animation completes */\n readonly onComplete?: () => void;\n}\n\n/**\n * Get color based on feedback type\n */\nfunction getFeedbackColor(type: ActionFeedbackType): string {\n switch (type) {\n case \"perfect\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_GOLD);\n case \"critical\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_RED);\n case \"blocked\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_CYAN);\n case \"dodged\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_GREEN);\n case \"technique\":\n return hexColorToCSS(KOREAN_COLORS.SECONDARY_MAGENTA);\n case \"combo_milestone\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_GOLD);\n default:\n return hexColorToCSS(KOREAN_COLORS.TEXT_PRIMARY);\n }\n}\n\n/**\n * Get glow color based on feedback type\n */\nfunction getGlowColor(type: ActionFeedbackType): string {\n switch (type) {\n case \"perfect\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_GOLD, 0.8);\n case \"critical\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_RED, 0.8);\n case \"blocked\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_CYAN, 0.6);\n case \"dodged\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_GREEN, 0.6);\n case \"technique\":\n return hexToRgbaString(KOREAN_COLORS.SECONDARY_MAGENTA, 0.8);\n case \"combo_milestone\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_GOLD, 0.8);\n default:\n return hexToRgbaString(KOREAN_COLORS.TEXT_PRIMARY, 0.4);\n }\n}\n\n/**\n * Individual action feedback display\n */\ninterface SingleFeedbackProps {\n readonly feedback: ActionFeedbackData;\n readonly isMobile: boolean;\n readonly arenaBounds: PhysicsArenaBounds;\n readonly animationDuration: number;\n}\n\nconst SingleFeedback: React.FC<SingleFeedbackProps> = ({\n feedback,\n isMobile,\n arenaBounds,\n animationDuration,\n}) => {\n const [progress, setProgress] = useState(0);\n const startTimeRef = useRef(feedback.timestamp);\n\n // Calculate 3D position from meter-based coordinates (physics-first architecture)\n // Position is in meters relative to arena center (0, 0)\n // Player models use meter coordinates directly: position={[playerPos.x, 0, playerPos.y]}\n // So we use meter coordinates directly too for alignment\n const halfWidth = arenaBounds.worldWidthMeters / 2;\n const halfDepth = arenaBounds.worldDepthMeters / 2;\n \n // Clamp position to arena boundaries in meters\n const clampedX = Math.min(halfWidth, Math.max(-halfWidth, feedback.position.x));\n const clampedZ = Math.min(halfDepth, Math.max(-halfDepth, feedback.position.y));\n \n // Use clamped meter coordinates directly in 3D space (no remapping)\n const x = clampedX; // Meter position X\n const y = 2.5 + progress * 1.5; // Float upward\n const z = clampedZ; // Meter position Z (depth)\n const position3D: [number, number, number] = [x, y, z];\n\n // Update progress using useFrame\n useFrame(() => {\n const elapsed = Date.now() - startTimeRef.current;\n const newProgress = Math.min(elapsed / animationDuration, 1);\n setProgress(newProgress);\n });\n\n // Don't render if expired\n if (progress >= 1) return null;\n\n const opacity = 1 - progress;\n const scale = 1 + (progress < 0.2 ? progress * 2 : (1 - progress) * 0.5);\n const fontSize = isMobile ? 18 : 24;\n const color = getFeedbackColor(feedback.type);\n const glowColor = getGlowColor(feedback.type);\n\n return (\n <Html\n position={position3D}\n center\n distanceFactor={10}\n style={{ pointerEvents: \"none\" }}\n >\n <div\n data-testid={`action-feedback-${feedback.id}`}\n style={{\n fontSize: `${fontSize}px`,\n fontWeight: \"bold\",\n fontFamily: FONT_FAMILY.KOREAN,\n color,\n opacity,\n transform: `scale(${scale})`,\n textShadow: `\n 0 0 10px ${glowColor},\n 0 0 20px ${glowColor},\n 2px 2px 4px rgba(0, 0, 0, 0.9)\n `,\n whiteSpace: \"nowrap\",\n userSelect: \"none\",\n textAlign: \"center\",\n }}\n >\n {feedback.textKorean} | {feedback.text}\n </div>\n </Html>\n );\n};\n\n/**\n * ActionFeedback Component\n *\n * Renders multiple action feedback indicators in the 3D scene.\n * Each indicator floats upward and fades out over time.\n *\n * @example\n * ```tsx\n * <ActionFeedback\n * feedbacks={actionFeedbacks}\n * isMobile={isMobile}\n * arenaBounds={arenaBounds}\n * />\n * ```\n */\nexport const ActionFeedback: React.FC<ActionFeedbackProps> = ({\n feedbacks,\n isMobile = false,\n arenaBounds = DEFAULT_PHYSICS_ARENA_BOUNDS,\n animationDuration = 1200,\n}) => {\n // Derive visible feedbacks from props - no need for state sync\n const visibleFeedbacks = useMemo(() => [...feedbacks], [feedbacks]);\n\n return (\n <group data-testid=\"action-feedback-container\">\n {visibleFeedbacks.map((feedback) => (\n <SingleFeedback\n key={feedback.id}\n feedback={feedback}\n isMobile={isMobile}\n arenaBounds={arenaBounds}\n animationDuration={animationDuration}\n />\n ))}\n </group>\n );\n};\n\n/**\n * TechniqueName Component\n *\n * Displays the current technique name in Korean and English.\n * Appears at the center of the screen with a dramatic animation.\n *\n * @example\n * ```tsx\n * <TechniqueName\n * korean=\"천둥벽력\"\n * english=\"Thunder Strike\"\n * isMobile={isMobile}\n * duration={2000}\n * />\n * ```\n */\nexport const TechniqueName: React.FC<TechniqueNameProps> = ({\n korean,\n english,\n isMobile = false,\n duration = 2000,\n onComplete,\n}) => {\n const [opacity, setOpacity] = useState(0);\n const [scale, setScale] = useState(0.5);\n // Use useState lazy initializer for Date.now() to avoid impure function during render\n const [startTime] = useState(() => Date.now());\n const startTimeRef = useRef(startTime);\n\n // Animation phases: fade in (0-FADE_IN_THRESHOLD), hold (FADE_IN_THRESHOLD-FADE_OUT_THRESHOLD), fade out (FADE_OUT_THRESHOLD-1)\n useFrame(() => {\n const elapsed = Date.now() - startTimeRef.current;\n const progress = Math.min(elapsed / duration, 1);\n\n if (progress < FADE_IN_THRESHOLD) {\n // Fade in phase\n const fadeInProgress = progress / FADE_IN_THRESHOLD;\n setOpacity(fadeInProgress);\n setScale(0.5 + fadeInProgress * 0.5);\n } else if (progress < FADE_OUT_THRESHOLD) {\n // Hold phase\n setOpacity(1);\n setScale(1);\n } else {\n // Fade out phase\n const fadeOutProgress =\n (progress - FADE_OUT_THRESHOLD) / (1 - FADE_OUT_THRESHOLD);\n setOpacity(1 - fadeOutProgress);\n setScale(1 + fadeOutProgress * 0.2);\n }\n\n if (progress >= 1 && onComplete) {\n onComplete();\n }\n });\n\n // Position at center of scene, slightly below top\n const position3D: [number, number, number] = [0, 3.5, 0];\n\n const mainFontSize = isMobile ? 28 : 42;\n const subFontSize = isMobile ? 16 : 24;\n const color = hexColorToCSS(KOREAN_COLORS.SECONDARY_MAGENTA);\n const glowColor = hexToRgbaString(KOREAN_COLORS.SECONDARY_MAGENTA, 0.8);\n\n return (\n <Html\n position={position3D}\n center\n distanceFactor={10}\n style={{ pointerEvents: \"none\" }}\n >\n <div\n data-testid=\"technique-name\"\n style={{\n textAlign: \"center\",\n opacity,\n transform: `scale(${scale})`,\n transition: \"transform 0.1s ease-out\",\n }}\n >\n {/* Korean name */}\n <div\n style={{\n fontSize: `${mainFontSize}px`,\n fontWeight: \"bold\",\n fontFamily: FONT_FAMILY.KOREAN,\n color,\n textShadow: `\n 0 0 15px ${glowColor},\n 0 0 30px ${glowColor},\n 3px 3px 6px rgba(0, 0, 0, 0.9)\n `,\n letterSpacing: \"4px\",\n }}\n >\n {korean}\n </div>\n\n {/* Divider */}\n <div\n style={{\n width: \"60px\",\n height: \"2px\",\n background: `linear-gradient(90deg, transparent, ${color}, transparent)`,\n margin: \"8px auto\",\n }}\n />\n\n {/* English name */}\n <div\n style={{\n fontSize: `${subFontSize}px`,\n fontWeight: \"bold\",\n fontFamily: FONT_FAMILY.KOREAN,\n color: hexColorToCSS(KOREAN_COLORS.TEXT_SECONDARY),\n textShadow: \"2px 2px 4px rgba(0, 0, 0, 0.8)\",\n letterSpacing: \"2px\",\n textTransform: \"uppercase\",\n }}\n >\n {english}\n </div>\n </div>\n </Html>\n );\n};\n\nexport default ActionFeedback;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DamageNumbers - Floating damage number display component
|
|
3
|
+
*
|
|
4
|
+
* Displays floating damage numbers that animate upward and fade out.
|
|
5
|
+
* Color-coded based on damage type: normal (cyan), critical (gold), vital (red).
|
|
6
|
+
*
|
|
7
|
+
* Uses Html overlays from @react-three/drei for rendering within 3D scenes.
|
|
8
|
+
* Performance optimized with React.memo to reduce unnecessary re-renders.
|
|
9
|
+
*
|
|
10
|
+
* @module components/shared/three/effects/DamageNumbers
|
|
11
|
+
* @category Shared Effects
|
|
12
|
+
* @korean 피해숫자
|
|
13
|
+
*/
|
|
14
|
+
import React from "react";
|
|
15
|
+
import { DamageNumber } from "../../../../hooks/useActionFeedback";
|
|
16
|
+
import { type PhysicsArenaBounds } from "../../../../types/PhysicsTypes";
|
|
17
|
+
/**
|
|
18
|
+
* Props for the DamageNumbers component
|
|
19
|
+
*/
|
|
20
|
+
export interface DamageNumbersProps {
|
|
21
|
+
/** Array of damage numbers to display */
|
|
22
|
+
readonly damages: readonly DamageNumber[];
|
|
23
|
+
/** Whether to use mobile-optimized sizing */
|
|
24
|
+
readonly isMobile?: boolean;
|
|
25
|
+
/** Arena bounds for 3D positioning (physics-first with meter dimensions) */
|
|
26
|
+
readonly arenaBounds?: PhysicsArenaBounds;
|
|
27
|
+
/** Duration of animation in ms (default: 1500) */
|
|
28
|
+
readonly animationDuration?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Memoized DamageNumbers with custom comparison
|
|
32
|
+
* Only re-renders when damage array changes
|
|
33
|
+
*/
|
|
34
|
+
export declare const DamageNumbers: React.NamedExoticComponent<DamageNumbersProps>;
|
|
35
|
+
export default DamageNumbers;
|
|
36
|
+
//# sourceMappingURL=DamageNumbers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DamageNumbers.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/three/effects/DamageNumbers.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAc,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EAAgC,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIvG;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,kDAAkD;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAwLD;;;GAGG;AACH,eAAO,MAAM,aAAa,gDAyBzB,CAAC;AAIF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { KOREAN_COLORS } from "../../../../types/constants/colors.js";
|
|
2
|
+
import { FONT_FAMILY } from "../../../../types/constants/typography.js";
|
|
3
|
+
import "../../../../types/constants/index.js";
|
|
4
|
+
import { DEFAULT_PHYSICS_ARENA_BOUNDS } from "../../../../types/PhysicsTypes.js";
|
|
5
|
+
import { hexColorToCSS, hexToRgbaString } from "../../../../utils/colorUtils.js";
|
|
6
|
+
import { withGPUAcceleration } from "../../../../utils/performanceOptimization.js";
|
|
7
|
+
import React, { useMemo, useRef, useState } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { useFrame } from "@react-three/fiber";
|
|
10
|
+
import { Html } from "@react-three/drei";
|
|
11
|
+
//#region src/components/shared/three/effects/DamageNumbers.tsx
|
|
12
|
+
/**
|
|
13
|
+
* DamageNumbers - Floating damage number display component
|
|
14
|
+
*
|
|
15
|
+
* Displays floating damage numbers that animate upward and fade out.
|
|
16
|
+
* Color-coded based on damage type: normal (cyan), critical (gold), vital (red).
|
|
17
|
+
*
|
|
18
|
+
* Uses Html overlays from @react-three/drei for rendering within 3D scenes.
|
|
19
|
+
* Performance optimized with React.memo to reduce unnecessary re-renders.
|
|
20
|
+
*
|
|
21
|
+
* @module components/shared/three/effects/DamageNumbers
|
|
22
|
+
* @category Shared Effects
|
|
23
|
+
* @korean 피해숫자
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Get color based on damage type
|
|
27
|
+
*/
|
|
28
|
+
function getDamageColor(type) {
|
|
29
|
+
switch (type) {
|
|
30
|
+
case "critical": return hexColorToCSS(KOREAN_COLORS.ACCENT_GOLD);
|
|
31
|
+
case "vital": return hexColorToCSS(KOREAN_COLORS.ACCENT_RED);
|
|
32
|
+
default: return hexColorToCSS(KOREAN_COLORS.PRIMARY_CYAN);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get glow color based on damage type
|
|
37
|
+
*/
|
|
38
|
+
function getGlowColor(type) {
|
|
39
|
+
switch (type) {
|
|
40
|
+
case "critical": return hexToRgbaString(KOREAN_COLORS.ACCENT_GOLD, .8);
|
|
41
|
+
case "vital": return hexToRgbaString(KOREAN_COLORS.ACCENT_RED, .8);
|
|
42
|
+
default: return hexToRgbaString(KOREAN_COLORS.PRIMARY_CYAN, .8);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var SingleDamageNumber = React.memo(({ damage, isMobile, arenaBounds, animationDuration }) => {
|
|
46
|
+
const [progress, setProgress] = useState(0);
|
|
47
|
+
const startTimeRef = useRef(damage.timestamp);
|
|
48
|
+
const halfWidth = arenaBounds.worldWidthMeters / 2;
|
|
49
|
+
const halfDepth = arenaBounds.worldDepthMeters / 2;
|
|
50
|
+
const clampedX = Math.min(halfWidth, Math.max(-halfWidth, damage.position.x));
|
|
51
|
+
const clampedZ = Math.min(halfDepth, Math.max(-halfDepth, damage.position.y));
|
|
52
|
+
const position3D = [
|
|
53
|
+
clampedX,
|
|
54
|
+
2 + progress * 2,
|
|
55
|
+
clampedZ
|
|
56
|
+
];
|
|
57
|
+
useFrame(() => {
|
|
58
|
+
const elapsed = Date.now() - startTimeRef.current;
|
|
59
|
+
setProgress(Math.min(elapsed / animationDuration, 1));
|
|
60
|
+
});
|
|
61
|
+
if (progress >= 1) return null;
|
|
62
|
+
const opacity = 1 - progress;
|
|
63
|
+
const scale = 1 + progress * .3;
|
|
64
|
+
const fontSize = isMobile ? 20 : 28;
|
|
65
|
+
const getCriticalBonus = () => {
|
|
66
|
+
if (damage.type === "critical") return 8;
|
|
67
|
+
if (damage.type === "vital") return 4;
|
|
68
|
+
return 0;
|
|
69
|
+
};
|
|
70
|
+
const criticalBonus = getCriticalBonus();
|
|
71
|
+
return /* @__PURE__ */ jsx(Html, {
|
|
72
|
+
position: position3D,
|
|
73
|
+
center: true,
|
|
74
|
+
distanceFactor: 10,
|
|
75
|
+
style: { pointerEvents: "none" },
|
|
76
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
77
|
+
"data-testid": `damage-${damage.id}`,
|
|
78
|
+
style: withGPUAcceleration({
|
|
79
|
+
fontSize: `${fontSize + criticalBonus}px`,
|
|
80
|
+
fontWeight: "bold",
|
|
81
|
+
fontFamily: FONT_FAMILY.KOREAN,
|
|
82
|
+
color: getDamageColor(damage.type),
|
|
83
|
+
opacity,
|
|
84
|
+
transform: `scale(${scale})`,
|
|
85
|
+
textShadow: `
|
|
86
|
+
0 0 10px ${getGlowColor(damage.type)},
|
|
87
|
+
0 0 20px ${getGlowColor(damage.type)},
|
|
88
|
+
2px 2px 4px rgba(0, 0, 0, 0.8)
|
|
89
|
+
`,
|
|
90
|
+
whiteSpace: "nowrap",
|
|
91
|
+
userSelect: "none"
|
|
92
|
+
}),
|
|
93
|
+
children: [
|
|
94
|
+
damage.damage,
|
|
95
|
+
damage.type === "critical" && "!",
|
|
96
|
+
damage.type === "vital" && "!!"
|
|
97
|
+
]
|
|
98
|
+
})
|
|
99
|
+
});
|
|
100
|
+
}, (prevProps, nextProps) => {
|
|
101
|
+
const prevArena = prevProps.arenaBounds;
|
|
102
|
+
const nextArena = nextProps.arenaBounds;
|
|
103
|
+
const sameArenaBounds = prevArena?.x === nextArena?.x && prevArena?.y === nextArena?.y && prevArena?.width === nextArena?.width && prevArena?.height === nextArena?.height && prevArena?.worldWidthMeters === nextArena?.worldWidthMeters && prevArena?.worldDepthMeters === nextArena?.worldDepthMeters;
|
|
104
|
+
return prevProps.damage.id === nextProps.damage.id && prevProps.isMobile === nextProps.isMobile && prevProps.animationDuration === nextProps.animationDuration && sameArenaBounds;
|
|
105
|
+
});
|
|
106
|
+
SingleDamageNumber.displayName = "SingleDamageNumber";
|
|
107
|
+
/**
|
|
108
|
+
* DamageNumbers Component
|
|
109
|
+
*
|
|
110
|
+
* Renders multiple floating damage numbers in the 3D scene.
|
|
111
|
+
* Each number floats upward and fades out over time.
|
|
112
|
+
* Performance optimized with React.memo.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```tsx
|
|
116
|
+
* <DamageNumbers
|
|
117
|
+
* damages={damageNumbers}
|
|
118
|
+
* isMobile={isMobile}
|
|
119
|
+
* arenaBounds={arenaBounds}
|
|
120
|
+
* />
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
var DamageNumbersComponent = ({ damages, isMobile = false, arenaBounds = DEFAULT_PHYSICS_ARENA_BOUNDS, animationDuration = 1500 }) => {
|
|
124
|
+
const visibleDamages = useMemo(() => [...damages], [damages]);
|
|
125
|
+
return /* @__PURE__ */ jsx("group", {
|
|
126
|
+
"data-testid": "damage-numbers-container",
|
|
127
|
+
children: visibleDamages.map((damage) => /* @__PURE__ */ jsx(SingleDamageNumber, {
|
|
128
|
+
damage,
|
|
129
|
+
isMobile,
|
|
130
|
+
arenaBounds,
|
|
131
|
+
animationDuration
|
|
132
|
+
}, damage.id))
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Memoized DamageNumbers with custom comparison
|
|
137
|
+
* Only re-renders when damage array changes
|
|
138
|
+
*/
|
|
139
|
+
var DamageNumbers = React.memo(DamageNumbersComponent, (prevProps, nextProps) => {
|
|
140
|
+
if (prevProps.damages.length !== nextProps.damages.length) return false;
|
|
141
|
+
for (let i = 0; i < prevProps.damages.length; i++) if (prevProps.damages[i].id !== nextProps.damages[i].id) return false;
|
|
142
|
+
return prevProps.isMobile === nextProps.isMobile && prevProps.animationDuration === nextProps.animationDuration && prevProps.arenaBounds?.x === nextProps.arenaBounds?.x && prevProps.arenaBounds?.y === nextProps.arenaBounds?.y && prevProps.arenaBounds?.width === nextProps.arenaBounds?.width && prevProps.arenaBounds?.height === nextProps.arenaBounds?.height;
|
|
143
|
+
});
|
|
144
|
+
DamageNumbers.displayName = "DamageNumbers";
|
|
145
|
+
//#endregion
|
|
146
|
+
export { DamageNumbers as default };
|
|
147
|
+
|
|
148
|
+
//# sourceMappingURL=DamageNumbers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DamageNumbers.js","names":[],"sources":["../../../../../src/components/shared/three/effects/DamageNumbers.tsx"],"sourcesContent":["/**\n * DamageNumbers - Floating damage number display component\n *\n * Displays floating damage numbers that animate upward and fade out.\n * Color-coded based on damage type: normal (cyan), critical (gold), vital (red).\n *\n * Uses Html overlays from @react-three/drei for rendering within 3D scenes.\n * Performance optimized with React.memo to reduce unnecessary re-renders.\n *\n * @module components/shared/three/effects/DamageNumbers\n * @category Shared Effects\n * @korean 피해숫자\n */\n\nimport { Html } from \"@react-three/drei\";\nimport { useFrame } from \"@react-three/fiber\";\nimport React, { useMemo, useRef, useState } from \"react\";\nimport { DamageNumber, DamageType } from \"../../../../hooks/useActionFeedback\";\nimport { FONT_FAMILY, KOREAN_COLORS } from \"../../../../types/constants\";\nimport { DEFAULT_PHYSICS_ARENA_BOUNDS, type PhysicsArenaBounds } from \"../../../../types/PhysicsTypes\";\nimport { hexColorToCSS, hexToRgbaString } from \"../../../../utils/colorUtils\";\nimport { withGPUAcceleration } from \"../../../../utils/performanceOptimization\";\n\n/**\n * Props for the DamageNumbers component\n */\nexport interface DamageNumbersProps {\n /** Array of damage numbers to display */\n readonly damages: readonly DamageNumber[];\n /** Whether to use mobile-optimized sizing */\n readonly isMobile?: boolean;\n /** Arena bounds for 3D positioning (physics-first with meter dimensions) */\n readonly arenaBounds?: PhysicsArenaBounds;\n /** Duration of animation in ms (default: 1500) */\n readonly animationDuration?: number;\n}\n\n/**\n * Get color based on damage type\n */\nfunction getDamageColor(type: DamageType): string {\n switch (type) {\n case \"critical\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_GOLD);\n case \"vital\":\n return hexColorToCSS(KOREAN_COLORS.ACCENT_RED);\n case \"normal\":\n default:\n return hexColorToCSS(KOREAN_COLORS.PRIMARY_CYAN);\n }\n}\n\n/**\n * Get glow color based on damage type\n */\nfunction getGlowColor(type: DamageType): string {\n switch (type) {\n case \"critical\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_GOLD, 0.8);\n case \"vital\":\n return hexToRgbaString(KOREAN_COLORS.ACCENT_RED, 0.8);\n case \"normal\":\n default:\n return hexToRgbaString(KOREAN_COLORS.PRIMARY_CYAN, 0.8);\n }\n}\n\n/**\n * Individual damage number display\n * Memoized to prevent unnecessary re-renders\n */\ninterface SingleDamageNumberProps {\n readonly damage: DamageNumber;\n readonly isMobile: boolean;\n readonly arenaBounds: PhysicsArenaBounds;\n readonly animationDuration: number;\n}\n\nconst SingleDamageNumber = React.memo<SingleDamageNumberProps>(({\n damage,\n isMobile,\n arenaBounds,\n animationDuration,\n}) => {\n const [progress, setProgress] = useState(0);\n const startTimeRef = useRef(damage.timestamp);\n\n // Calculate 3D position from meter-based coordinates (physics-first architecture)\n // Position is in meters relative to arena center (0, 0)\n // Player models use meter coordinates directly: position={[playerPos.x, 0, playerPos.y]}\n // So we use meter coordinates directly too for alignment\n const halfWidth = arenaBounds.worldWidthMeters / 2;\n const halfDepth = arenaBounds.worldDepthMeters / 2;\n \n // Clamp position to arena boundaries in meters\n const clampedX = Math.min(halfWidth, Math.max(-halfWidth, damage.position.x));\n const clampedZ = Math.min(halfDepth, Math.max(-halfDepth, damage.position.y));\n \n // Use clamped meter coordinates directly in 3D space (no remapping)\n const x = clampedX; // Meter position X\n const y = 2 + progress * 2; // Float upward\n const z = clampedZ; // Meter position Z (depth)\n const position3D: [number, number, number] = [x, y, z];\n\n // Update progress using useFrame\n useFrame(() => {\n const elapsed = Date.now() - startTimeRef.current;\n const newProgress = Math.min(elapsed / animationDuration, 1);\n setProgress(newProgress);\n });\n\n // Don't render if expired\n if (progress >= 1) return null;\n\n const opacity = 1 - progress;\n const scale = 1 + progress * 0.3; // Slight scale up during animation\n const fontSize = isMobile ? 20 : 28;\n // Calculate critical bonus based on damage type\n const getCriticalBonus = (): number => {\n if (damage.type === \"critical\") return 8;\n if (damage.type === \"vital\") return 4;\n return 0;\n };\n const criticalBonus = getCriticalBonus();\n\n return (\n <Html\n position={position3D}\n center\n distanceFactor={10}\n style={{ pointerEvents: \"none\" }}\n >\n <div\n data-testid={`damage-${damage.id}`}\n style={withGPUAcceleration({\n fontSize: `${fontSize + criticalBonus}px`,\n fontWeight: \"bold\",\n fontFamily: FONT_FAMILY.KOREAN,\n color: getDamageColor(damage.type),\n opacity,\n transform: `scale(${scale})`,\n textShadow: `\n 0 0 10px ${getGlowColor(damage.type)},\n 0 0 20px ${getGlowColor(damage.type)},\n 2px 2px 4px rgba(0, 0, 0, 0.8)\n `,\n whiteSpace: \"nowrap\",\n userSelect: \"none\",\n })}\n >\n {damage.damage}\n {damage.type === \"critical\" && \"!\"}\n {damage.type === \"vital\" && \"!!\"}\n </div>\n </Html>\n );\n}, (prevProps, nextProps) => {\n // Custom comparison: re-render only when props that affect rendering change\n const prevArena = prevProps.arenaBounds;\n const nextArena = nextProps.arenaBounds;\n\n const sameArenaBounds =\n prevArena?.x === nextArena?.x &&\n prevArena?.y === nextArena?.y &&\n prevArena?.width === nextArena?.width &&\n prevArena?.height === nextArena?.height &&\n prevArena?.worldWidthMeters === nextArena?.worldWidthMeters &&\n prevArena?.worldDepthMeters === nextArena?.worldDepthMeters;\n\n return (\n prevProps.damage.id === nextProps.damage.id &&\n prevProps.isMobile === nextProps.isMobile &&\n prevProps.animationDuration === nextProps.animationDuration &&\n sameArenaBounds\n );\n});\n\nSingleDamageNumber.displayName = \"SingleDamageNumber\";\n\n/**\n * DamageNumbers Component\n *\n * Renders multiple floating damage numbers in the 3D scene.\n * Each number floats upward and fades out over time.\n * Performance optimized with React.memo.\n *\n * @example\n * ```tsx\n * <DamageNumbers\n * damages={damageNumbers}\n * isMobile={isMobile}\n * arenaBounds={arenaBounds}\n * />\n * ```\n */\nconst DamageNumbersComponent: React.FC<DamageNumbersProps> = ({\n damages,\n isMobile = false,\n arenaBounds = DEFAULT_PHYSICS_ARENA_BOUNDS,\n animationDuration = 1500,\n}) => {\n // Derive visible damages from props - no need for state sync\n const visibleDamages = useMemo(() => [...damages], [damages]);\n\n return (\n <group data-testid=\"damage-numbers-container\">\n {visibleDamages.map((damage) => (\n <SingleDamageNumber\n key={damage.id}\n damage={damage}\n isMobile={isMobile}\n arenaBounds={arenaBounds}\n animationDuration={animationDuration}\n />\n ))}\n </group>\n );\n};\n\n/**\n * Memoized DamageNumbers with custom comparison\n * Only re-renders when damage array changes\n */\nexport const DamageNumbers = React.memo(\n DamageNumbersComponent,\n (prevProps, nextProps) => {\n // Compare damages array length and contents\n if (prevProps.damages.length !== nextProps.damages.length) {\n return false;\n }\n \n // Check if array contents changed (compare IDs)\n for (let i = 0; i < prevProps.damages.length; i++) {\n if (prevProps.damages[i].id !== nextProps.damages[i].id) {\n return false;\n }\n }\n \n // Check other props\n return (\n prevProps.isMobile === nextProps.isMobile &&\n prevProps.animationDuration === nextProps.animationDuration &&\n prevProps.arenaBounds?.x === nextProps.arenaBounds?.x &&\n prevProps.arenaBounds?.y === nextProps.arenaBounds?.y &&\n prevProps.arenaBounds?.width === nextProps.arenaBounds?.width &&\n prevProps.arenaBounds?.height === nextProps.arenaBounds?.height\n );\n }\n);\n\nDamageNumbers.displayName = \"DamageNumbers\";\n\nexport default DamageNumbers;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ExplosiveBurstEffect3D - Explosive particle burst effects for Jin trigram
|
|
3
|
+
*
|
|
4
|
+
* Creates explosive particle bursts with Korean cyberpunk aesthetic for
|
|
5
|
+
* Jin (Thunder) stance techniques on impact.
|
|
6
|
+
*
|
|
7
|
+
* **Korean Martial Arts Context:**
|
|
8
|
+
* - 진괘 (Jin): Thunder trigram explosive impact visualization
|
|
9
|
+
* - 폭발 (Pokbal): Explosion particle burst
|
|
10
|
+
* - 충격파 (Chunggyeokpa): Shockwave expansion
|
|
11
|
+
*
|
|
12
|
+
* @module components/shared/three/effects/ExplosiveBurstEffect3D
|
|
13
|
+
* @korean 폭발파열효과3D
|
|
14
|
+
*/
|
|
15
|
+
import React from "react";
|
|
16
|
+
/**
|
|
17
|
+
* Props for ExplosiveBurstEffect3D component
|
|
18
|
+
*/
|
|
19
|
+
export interface ExplosiveBurstEffect3DProps {
|
|
20
|
+
/** Position in 3D space [x, y, z] */
|
|
21
|
+
readonly position: [number, number, number];
|
|
22
|
+
/** Intensity of the burst (0-1) */
|
|
23
|
+
readonly intensity?: number;
|
|
24
|
+
/** Number of particles in the burst */
|
|
25
|
+
readonly particleCount?: number;
|
|
26
|
+
/** Duration in milliseconds */
|
|
27
|
+
readonly duration?: number;
|
|
28
|
+
/** Callback when effect completes */
|
|
29
|
+
readonly onComplete?: () => void;
|
|
30
|
+
/** Whether effect is active */
|
|
31
|
+
readonly active?: boolean;
|
|
32
|
+
/** Color theme for particles */
|
|
33
|
+
readonly color?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Main Explosive Burst Effect Component
|
|
37
|
+
* Creates a multi-layered explosive particle burst
|
|
38
|
+
*/
|
|
39
|
+
export declare const ExplosiveBurstEffect3D: React.FC<ExplosiveBurstEffect3DProps>;
|
|
40
|
+
export default ExplosiveBurstEffect3D;
|
|
41
|
+
//# sourceMappingURL=ExplosiveBurstEffect3D.d.ts.map
|