blacktrigram 0.7.44 → 0.7.45
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/lib/audio/AudioManager.d.ts +26 -0
- package/lib/audio/AudioManager.d.ts.map +1 -1
- package/lib/audio/AudioManager.js +26 -0
- package/lib/audio/AudioManager.js.map +1 -1
- package/lib/audio/index.d.ts.map +1 -1
- package/lib/audio/index.js.map +1 -1
- package/lib/audio/types.d.ts +18 -2
- package/lib/audio/types.d.ts.map +1 -1
- package/lib/audio/types.js +1 -0
- package/lib/audio/types.js.map +1 -1
- package/lib/components/effects/WindParticles3D.d.ts.map +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -1
- package/lib/components/screens/combat/CombatScreen3D.js.map +1 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts +0 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.js +0 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -1
- package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/PainVignette.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/index.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -1
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts +0 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +0 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts +0 -2
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js +0 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -1
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -1
- package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -1
- package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -1
- package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -1
- package/lib/components/screens/combat/hooks/useAICombat.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatActions.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatState.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -1
- package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -1
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -1
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/Key3D.js.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -1
- package/lib/components/screens/controls/constants/ControlsConstants.d.ts.map +1 -1
- package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -1
- package/lib/components/screens/controls/hooks/useControlsState.d.ts.map +1 -1
- package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -1
- package/lib/components/screens/endscreen/EndScreen3D.d.ts.map +1 -1
- package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/index.d.ts.map +1 -1
- package/lib/components/screens/endscreen/index.d.ts.map +1 -1
- package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js.map +1 -1
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -1
- package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -1
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -1
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts +0 -1
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts +0 -1
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -1
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts +0 -1
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts.map +1 -1
- package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -1
- package/lib/components/screens/training/TrainingScreen3D.js.map +1 -1
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -1
- package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -1
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -1
- package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -1
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -1
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -1
- package/lib/components/screens/training/components/index.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -1
- package/lib/components/shared/base/AccessibilityProvider.d.ts.map +1 -1
- package/lib/components/shared/base/BaseButton.d.ts.map +1 -1
- package/lib/components/shared/base/BaseButton.js.map +1 -1
- package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts.map +1 -1
- package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -1
- package/lib/components/shared/base/BasePanel.d.ts.map +1 -1
- package/lib/components/shared/base/BasePanel.js.map +1 -1
- package/lib/components/shared/base/BaseText.d.ts.map +1 -1
- package/lib/components/shared/base/BaseText.js.map +1 -1
- package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -1
- package/lib/components/shared/base/index.d.ts.map +1 -1
- package/lib/components/shared/base/useKoreanTheme.d.ts.map +1 -1
- package/lib/components/shared/base/useKoreanTheme.js.map +1 -1
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts.map +1 -1
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -1
- package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -1
- package/lib/components/shared/mobile/ActionButtons.d.ts.map +1 -1
- package/lib/components/shared/mobile/ActionButtons.js +0 -1
- package/lib/components/shared/mobile/ActionButtons.js.map +1 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts +0 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts.map +1 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.js +0 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -1
- package/lib/components/shared/mobile/HapticController.d.ts +0 -13
- package/lib/components/shared/mobile/HapticController.d.ts.map +1 -1
- package/lib/components/shared/mobile/HapticController.js +0 -10
- package/lib/components/shared/mobile/HapticController.js.map +1 -1
- package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -1
- package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -1
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts +0 -15
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -1
- package/lib/components/shared/mobile/StanceWheelPure.d.ts +0 -1
- package/lib/components/shared/mobile/StanceWheelPure.d.ts.map +1 -1
- package/lib/components/shared/mobile/StanceWheelPure.js +0 -1
- package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -1
- package/lib/components/shared/mobile/TouchOptimizer.d.ts +0 -4
- package/lib/components/shared/mobile/TouchOptimizer.d.ts.map +1 -1
- package/lib/components/shared/mobile/TouchOptimizer.js +0 -3
- package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -1
- package/lib/components/shared/mobile/VirtualDPad.d.ts.map +1 -1
- package/lib/components/shared/mobile/VirtualDPad.js +0 -1
- package/lib/components/shared/mobile/VirtualDPad.js.map +1 -1
- package/lib/components/shared/mobile/index.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts +0 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -1
- package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/Face3D.js.map +1 -1
- package/lib/components/shared/three/anatomy/Foot3D.d.ts +0 -1
- package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -1
- package/lib/components/shared/three/anatomy/Hand3D.d.ts +0 -1
- package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -1
- package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -1
- package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -1
- package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -1
- package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -1
- package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -1
- package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -1
- package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -1
- package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -1
- package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -1
- package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -1
- package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -1
- package/lib/components/shared/three/index.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts +0 -6
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/ElementalColorSystem.js +0 -4
- package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -1
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts +0 -1
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/GuardIndicator.js +0 -1
- package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -1
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts +0 -7
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/HapticFeedback.js +0 -2
- package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts +0 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js +0 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -1
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts +0 -1
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -1
- package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -1
- package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -1
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -1
- package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -1
- package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -1
- package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -1
- package/lib/components/shared/three/optimization/InstancedGeometry.d.ts.map +1 -1
- package/lib/components/shared/three/optimization/LODSystem.d.ts.map +1 -1
- package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -1
- package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -1
- package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -1
- package/lib/components/shared/three/scene/DebugCollision.d.ts +0 -2
- package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -1
- package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -1
- package/lib/components/shared/three/ui/ArchetypeCard.d.ts.map +1 -1
- package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -1
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -1
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -1
- package/lib/components/shared/three/ui/BreathingIndicator.d.ts.map +1 -1
- package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -1
- package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -1
- package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -1
- package/lib/components/shared/three/ui/ComboCounter.js.map +1 -1
- package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/HealthBar.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanButton.d.ts.map +1 -1
- package/lib/components/shared/three/ui/KoreanButton.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanPanel.d.ts.map +1 -1
- package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanText.d.ts.map +1 -1
- package/lib/components/shared/three/ui/KoreanText.js.map +1 -1
- package/lib/components/shared/three/ui/MenuList.d.ts.map +1 -1
- package/lib/components/shared/three/ui/MenuList.js.map +1 -1
- package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -1
- package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -1
- package/lib/components/shared/three/ui/ProgressBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/ProgressBar.js.map +1 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts +0 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts.map +1 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js +0 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -1
- package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/StaminaBar.js.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -1
- package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -1
- package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -1
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -1
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -1
- package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -1
- package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -1
- package/lib/components/shared/ui/CombatTimer.js.map +1 -1
- package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -1
- package/lib/components/shared/ui/ErrorModal.js.map +1 -1
- package/lib/components/shared/ui/HUDSection.d.ts.map +1 -1
- package/lib/components/shared/ui/LoadingState.d.ts.map +1 -1
- package/lib/components/shared/ui/LoadingState.js.map +1 -1
- package/lib/components/shared/ui/MobileHUDLayout.d.ts +0 -1
- package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -1
- package/lib/components/shared/ui/ResponsiveContainer.d.ts +0 -1
- package/lib/components/shared/ui/ResponsiveContainer.d.ts.map +1 -1
- package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -1
- package/lib/components/shared/ui/SplashScreen.js +2 -2
- package/lib/components/shared/ui/SplashScreen.js.map +1 -1
- package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -1
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -1
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -1
- package/lib/components/shared/ui/VolumeControl.d.ts.map +1 -1
- package/lib/components/shared/ui/VolumeControl.js.map +1 -1
- package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -1
- package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -1
- package/lib/components/test/Hello3D.d.ts.map +1 -1
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts.map +1 -1
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -1
- package/lib/components/ui/combat/ComboCounter.d.ts.map +1 -1
- package/lib/components/ui/combat/PressureMeter.d.ts.map +1 -1
- package/lib/systems/CombatSystem.d.ts +0 -6
- package/lib/systems/CombatSystem.d.ts.map +1 -1
- package/lib/systems/CombatSystem.js +0 -6
- package/lib/systems/CombatSystem.js.map +1 -1
- package/lib/systems/EffectCalculator.d.ts +0 -7
- package/lib/systems/EffectCalculator.d.ts.map +1 -1
- package/lib/systems/EffectCalculator.js +0 -4
- package/lib/systems/EffectCalculator.js.map +1 -1
- package/lib/systems/LayoutSystem.d.ts +0 -1
- package/lib/systems/LayoutSystem.d.ts.map +1 -1
- package/lib/systems/LayoutSystem.js +0 -1
- package/lib/systems/LayoutSystem.js.map +1 -1
- package/lib/systems/PlayerEffectManager.d.ts +0 -10
- package/lib/systems/PlayerEffectManager.d.ts.map +1 -1
- package/lib/systems/PlayerEffectManager.js +0 -3
- package/lib/systems/PlayerEffectManager.js.map +1 -1
- package/lib/systems/ResponsiveScaling.d.ts +0 -12
- package/lib/systems/ResponsiveScaling.d.ts.map +1 -1
- package/lib/systems/ResponsiveScaling.js +0 -12
- package/lib/systems/ResponsiveScaling.js.map +1 -1
- package/lib/systems/TrigramSystem.d.ts +0 -13
- package/lib/systems/TrigramSystem.d.ts.map +1 -1
- package/lib/systems/TrigramSystem.js +0 -13
- package/lib/systems/TrigramSystem.js.map +1 -1
- package/lib/systems/VitalPointSystem.d.ts +0 -10
- package/lib/systems/VitalPointSystem.d.ts.map +1 -1
- package/lib/systems/VitalPointSystem.js +0 -10
- package/lib/systems/VitalPointSystem.js.map +1 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts +0 -4
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.js +0 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -1
- package/lib/systems/animation/builders/SkeletonRig.d.ts +0 -4
- package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -1
- package/lib/systems/animation/builders/SkeletonRig.js +0 -3
- package/lib/systems/animation/builders/SkeletonRig.js.map +1 -1
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts +0 -5
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts.map +1 -1
- package/lib/systems/animation/catalogs/RecoveryAnimations.js +0 -5
- package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -1
- package/lib/systems/animation/core/AnimationHitTiming.d.ts +0 -6
- package/lib/systems/animation/core/AnimationHitTiming.d.ts.map +1 -1
- package/lib/systems/animation/core/AnimationHitTiming.js +0 -4
- package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -1
- package/lib/systems/animation/core/AnimationTransitions.d.ts +0 -3
- package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -1
- package/lib/systems/animation/core/AnimationTransitions.js.map +1 -1
- package/lib/systems/animation/core/LateralityTransform.d.ts +0 -3
- package/lib/systems/animation/core/LateralityTransform.d.ts.map +1 -1
- package/lib/systems/animation/core/LateralityTransform.js +0 -1
- package/lib/systems/animation/core/LateralityTransform.js.map +1 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts +0 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts.map +1 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -1
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts +0 -10
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -1
- package/lib/systems/animation/core/TechniqueAnimationMapper.js +0 -8
- package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -1
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts +0 -10
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts.map +1 -1
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts +0 -2
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts.map +1 -1
- package/lib/systems/animation/core/types.d.ts +0 -39
- package/lib/systems/animation/core/types.d.ts.map +1 -1
- package/lib/systems/animation/core/types.js +0 -9
- package/lib/systems/animation/core/types.js.map +1 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts +0 -27
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.js +0 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -1
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts +0 -19
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -1
- package/lib/systems/animation/systems/BodyFacingSystem.js +0 -14
- package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -1
- package/lib/systems/animation/systems/FacialExpressions.d.ts +0 -10
- package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -1
- package/lib/systems/animation/systems/FacialExpressions.js +0 -2
- package/lib/systems/animation/systems/FacialExpressions.js.map +1 -1
- package/lib/systems/animation/systems/FallAnimations.d.ts +0 -4
- package/lib/systems/animation/systems/FallAnimations.d.ts.map +1 -1
- package/lib/systems/animation/systems/FallAnimations.js +0 -2
- package/lib/systems/animation/systems/FallAnimations.js.map +1 -1
- package/lib/systems/animation/systems/HeadMovements.d.ts +0 -10
- package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts +0 -7
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartDamageIntegration.js +0 -7
- package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -1
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts +0 -13
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartHealthSystem.js +0 -13
- package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -1
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts +0 -6
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartPositionMapping.js +0 -6
- package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -1
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts +0 -10
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -1
- package/lib/systems/bodypart/CombatInjuryIntegration.js +0 -8
- package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -1
- package/lib/systems/bodypart/InjuryIntegration.d.ts +0 -2
- package/lib/systems/bodypart/InjuryIntegration.d.ts.map +1 -1
- package/lib/systems/bodypart/InjuryIntegration.js +0 -2
- package/lib/systems/bodypart/InjuryIntegration.js.map +1 -1
- package/lib/systems/bodypart/InjuryTracker.d.ts +0 -14
- package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -1
- package/lib/systems/bodypart/InjuryTracker.js +0 -12
- package/lib/systems/bodypart/InjuryTracker.js.map +1 -1
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts +0 -8
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -1
- package/lib/systems/bodypart/MovementPenaltySystem.js +0 -8
- package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -1
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts +0 -8
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -1
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js +0 -8
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -1
- package/lib/systems/bodypart/types.d.ts +0 -13
- package/lib/systems/bodypart/types.d.ts.map +1 -1
- package/lib/systems/bodypart/types.js +0 -5
- package/lib/systems/bodypart/types.js.map +1 -1
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts +0 -3
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -1
- package/lib/systems/breathing/BreathingDisruptionSystem.js +0 -2
- package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -1
- package/lib/systems/combat/BalanceSystem.d.ts +0 -25
- package/lib/systems/combat/BalanceSystem.d.ts.map +1 -1
- package/lib/systems/combat/BalanceSystem.js +0 -25
- package/lib/systems/combat/BalanceSystem.js.map +1 -1
- package/lib/systems/combat/BreakingStatusEffects.d.ts +0 -4
- package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -1
- package/lib/systems/combat/BreakingStatusEffects.js +0 -3
- package/lib/systems/combat/BreakingStatusEffects.js.map +1 -1
- package/lib/systems/combat/CombatStateSystem.d.ts +0 -9
- package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -1
- package/lib/systems/combat/CombatStateSystem.js +0 -9
- package/lib/systems/combat/CombatStateSystem.js.map +1 -1
- package/lib/systems/combat/ConsciousnessSystem.d.ts +0 -16
- package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -1
- package/lib/systems/combat/ConsciousnessSystem.js +0 -16
- package/lib/systems/combat/ConsciousnessSystem.js.map +1 -1
- package/lib/systems/combat/FallIntegration.d.ts +0 -3
- package/lib/systems/combat/FallIntegration.d.ts.map +1 -1
- package/lib/systems/combat/FallIntegration.js +0 -3
- package/lib/systems/combat/FallIntegration.js.map +1 -1
- package/lib/systems/combat/GrappleSystem.d.ts +0 -2
- package/lib/systems/combat/GrappleSystem.d.ts.map +1 -1
- package/lib/systems/combat/GrappleSystem.js +0 -2
- package/lib/systems/combat/GrappleSystem.js.map +1 -1
- package/lib/systems/combat/LimbExposureSystem.d.ts +0 -7
- package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -1
- package/lib/systems/combat/LimbExposureSystem.js +0 -7
- package/lib/systems/combat/LimbExposureSystem.js.map +1 -1
- package/lib/systems/combat/PainResponseSystem.d.ts +0 -11
- package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -1
- package/lib/systems/combat/PainResponseSystem.js +0 -11
- package/lib/systems/combat/PainResponseSystem.js.map +1 -1
- package/lib/systems/combat/painConsciousnessUtils.d.ts +0 -7
- package/lib/systems/combat/painConsciousnessUtils.d.ts.map +1 -1
- package/lib/systems/combat/painConsciousnessUtils.js +0 -7
- package/lib/systems/combat/painConsciousnessUtils.js.map +1 -1
- package/lib/systems/effects.d.ts +11 -0
- package/lib/systems/effects.d.ts.map +1 -1
- package/lib/systems/effects.js +10 -0
- package/lib/systems/effects.js.map +1 -1
- package/lib/systems/game.d.ts +16 -0
- package/lib/systems/game.d.ts.map +1 -1
- package/lib/systems/game.js +1 -0
- package/lib/systems/game.js.map +1 -1
- package/lib/systems/index.d.ts +5 -1
- package/lib/systems/index.d.ts.map +1 -1
- package/lib/systems/index.js.map +1 -1
- package/lib/systems/movement/InjuryMovementModifier.d.ts +0 -10
- package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -1
- package/lib/systems/movement/InjuryMovementModifier.js +0 -7
- package/lib/systems/movement/InjuryMovementModifier.js.map +1 -1
- package/lib/systems/movement/integration.d.ts +0 -3
- package/lib/systems/movement/integration.d.ts.map +1 -1
- package/lib/systems/movement/integration.js +0 -3
- package/lib/systems/movement/integration.js.map +1 -1
- package/lib/systems/physics/AttackMovementPhysics.d.ts +0 -9
- package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -1
- package/lib/systems/physics/AttackMovementPhysics.js +0 -7
- package/lib/systems/physics/AttackMovementPhysics.js.map +1 -1
- package/lib/systems/physics/CollisionDetection.d.ts +0 -6
- package/lib/systems/physics/CollisionDetection.d.ts.map +1 -1
- package/lib/systems/physics/CollisionDetection.js +0 -6
- package/lib/systems/physics/CollisionDetection.js.map +1 -1
- package/lib/systems/physics/CoordinateMapper.d.ts +0 -1
- package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -1
- package/lib/systems/physics/CoordinateMapper.js +0 -1
- package/lib/systems/physics/CoordinateMapper.js.map +1 -1
- package/lib/systems/physics/KnockbackPhysics.d.ts +0 -11
- package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -1
- package/lib/systems/physics/KnockbackPhysics.js +0 -8
- package/lib/systems/physics/KnockbackPhysics.js.map +1 -1
- package/lib/systems/physics/MovementPhysics.d.ts +0 -10
- package/lib/systems/physics/MovementPhysics.d.ts.map +1 -1
- package/lib/systems/physics/MovementPhysics.js +0 -8
- package/lib/systems/physics/MovementPhysics.js.map +1 -1
- package/lib/systems/physics/PhysicalReachCalculator.d.ts +0 -6
- package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -1
- package/lib/systems/physics/PhysicalReachCalculator.js +0 -5
- package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -1
- package/lib/systems/physics/SpeedModifierSystem.d.ts +0 -5
- package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -1
- package/lib/systems/physics/SpeedModifierSystem.js +0 -4
- package/lib/systems/physics/SpeedModifierSystem.js.map +1 -1
- package/lib/systems/player.d.ts +0 -5
- package/lib/systems/player.d.ts.map +1 -1
- package/lib/systems/trigram/TrigramCalculator.d.ts +0 -1
- package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -1
- package/lib/systems/trigram/TrigramCalculator.js +0 -1
- package/lib/systems/trigram/TrigramCalculator.js.map +1 -1
- package/lib/systems/trigram/types.d.ts +0 -4
- package/lib/systems/trigram/types.d.ts.map +1 -1
- package/lib/systems/trigram/types.js +0 -2
- package/lib/systems/trigram/types.js.map +1 -1
- package/lib/systems/types.d.ts +7 -2
- package/lib/systems/types.d.ts.map +1 -1
- package/lib/systems/types.js.map +1 -1
- package/lib/systems/vitalpoint/DamageCalculator.d.ts +0 -3
- package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -1
- package/lib/systems/vitalpoint/DamageCalculator.js +0 -3
- package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -1
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts +0 -8
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -1
- package/lib/systems/vitalpoint/KoreanVitalPoints.js +0 -8
- package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -1
- package/lib/systems/vitalpoint/VitalPointsData.d.ts +0 -3
- package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -1
- package/lib/systems/vitalpoint/VitalPointsData.js +0 -1
- package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -1
- package/lib/types/PhysicsTypes.d.ts +21 -78
- package/lib/types/PhysicsTypes.d.ts.map +1 -1
- package/lib/types/PhysicsTypes.js +17 -63
- package/lib/types/PhysicsTypes.js.map +1 -1
- package/lib/types/clothing.d.ts +0 -9
- package/lib/types/clothing.d.ts.map +1 -1
- package/lib/types/constants/animations.d.ts +35 -1
- package/lib/types/constants/animations.d.ts.map +1 -1
- package/lib/types/constants/animations.js +12 -1
- package/lib/types/constants/animations.js.map +1 -1
- package/lib/types/constants/colors.d.ts +28 -2
- package/lib/types/constants/colors.d.ts.map +1 -1
- package/lib/types/constants/colors.js +30 -4
- package/lib/types/constants/colors.js.map +1 -1
- package/lib/types/constants/index.d.ts +5 -1
- package/lib/types/constants/index.d.ts.map +1 -1
- package/lib/types/constants/index.js.map +1 -1
- package/lib/types/constants/performance.d.ts +0 -2
- package/lib/types/constants/performance.d.ts.map +1 -1
- package/lib/types/constants/performance.js +0 -2
- package/lib/types/constants/performance.js.map +1 -1
- package/lib/types/constants/typography.d.ts +40 -2
- package/lib/types/constants/typography.d.ts.map +1 -1
- package/lib/types/constants/typography.js +40 -2
- package/lib/types/constants/typography.js.map +1 -1
- package/lib/types/constants/ui.d.ts +89 -1
- package/lib/types/constants/ui.d.ts.map +1 -1
- package/lib/types/constants/ui.js +33 -1
- package/lib/types/constants/ui.js.map +1 -1
- package/lib/types/facial.d.ts +0 -15
- package/lib/types/facial.d.ts.map +1 -1
- package/lib/types/facial.js +0 -8
- package/lib/types/facial.js.map +1 -1
- package/lib/types/hand-animation.d.ts +34 -147
- package/lib/types/hand-animation.d.ts.map +1 -1
- package/lib/types/hand-animation.js +0 -2
- package/lib/types/hand-animation.js.map +1 -1
- package/lib/types/injury.d.ts +0 -2
- package/lib/types/injury.d.ts.map +1 -1
- package/lib/types/injury.js +0 -1
- package/lib/types/injury.js.map +1 -1
- package/lib/types/physics.d.ts +0 -21
- package/lib/types/physics.d.ts.map +1 -1
- package/lib/types/physics.js +0 -6
- package/lib/types/physics.js.map +1 -1
- package/lib/types/physicsConstants.d.ts +0 -12
- package/lib/types/physicsConstants.d.ts.map +1 -1
- package/lib/types/physicsConstants.js +0 -12
- package/lib/types/physicsConstants.js.map +1 -1
- package/lib/types/player-visual.d.ts +45 -189
- package/lib/types/player-visual.d.ts.map +1 -1
- package/lib/types/technique.d.ts +1 -5
- package/lib/types/technique.d.ts.map +1 -1
- package/lib/types/techniqueId.d.ts +0 -1
- package/lib/types/techniqueId.d.ts.map +1 -1
- package/lib/types/techniqueId.js +0 -1
- package/lib/types/techniqueId.js.map +1 -1
- package/lib/utils/arenaWorldDimensions.d.ts +0 -11
- package/lib/utils/arenaWorldDimensions.d.ts.map +1 -1
- package/lib/utils/arenaWorldDimensions.js +0 -6
- package/lib/utils/arenaWorldDimensions.js.map +1 -1
- package/lib/utils/controlMapping.d.ts +3 -4
- package/lib/utils/controlMapping.d.ts.map +1 -1
- package/lib/utils/controlMapping.js +1 -2
- package/lib/utils/controlMapping.js.map +1 -1
- package/lib/utils/deviceDetection.d.ts +0 -5
- package/lib/utils/deviceDetection.d.ts.map +1 -1
- package/lib/utils/deviceDetection.js +0 -5
- package/lib/utils/deviceDetection.js.map +1 -1
- package/lib/utils/hapticFeedback.d.ts +23 -95
- package/lib/utils/hapticFeedback.d.ts.map +1 -1
- package/lib/utils/hapticFeedback.js +9 -39
- package/lib/utils/hapticFeedback.js.map +1 -1
- package/lib/utils/haptics.d.ts +0 -3
- package/lib/utils/haptics.d.ts.map +1 -1
- package/lib/utils/haptics.js +0 -1
- package/lib/utils/haptics.js.map +1 -1
- package/lib/utils/math.d.ts +0 -3
- package/lib/utils/math.d.ts.map +1 -1
- package/lib/utils/math.js +0 -2
- package/lib/utils/math.js.map +1 -1
- package/lib/utils/mobileLayoutHelpers.d.ts +0 -3
- package/lib/utils/mobileLayoutHelpers.d.ts.map +1 -1
- package/lib/utils/mobileLayoutHelpers.js +0 -1
- package/lib/utils/mobileLayoutHelpers.js.map +1 -1
- package/lib/utils/mobileUIUtils.d.ts +5 -100
- package/lib/utils/mobileUIUtils.d.ts.map +1 -1
- package/lib/utils/mobileUIUtils.js +0 -9
- package/lib/utils/mobileUIUtils.js.map +1 -1
- package/lib/utils/physicalAttributeValidation.d.ts.map +1 -1
- package/lib/utils/player3DHelpers.d.ts.map +1 -1
- package/lib/utils/player3DHelpers.js.map +1 -1
- package/lib/utils/responsiveLayoutHelpers.d.ts +0 -65
- package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -1
- package/lib/utils/responsiveLayoutHelpers.js +0 -65
- package/lib/utils/responsiveLayoutHelpers.js.map +1 -1
- package/lib/utils/responsiveOrientationConstants.d.ts +0 -7
- package/lib/utils/responsiveOrientationConstants.d.ts.map +1 -1
- package/lib/utils/responsiveOrientationConstants.js +0 -7
- package/lib/utils/responsiveOrientationConstants.js.map +1 -1
- package/lib/utils/safeAreaUtils.d.ts +0 -6
- package/lib/utils/safeAreaUtils.d.ts.map +1 -1
- package/lib/utils/safeAreaUtils.js +0 -2
- package/lib/utils/safeAreaUtils.js.map +1 -1
- package/lib/utils/sharedPhysicsConfig.d.ts +0 -4
- package/lib/utils/sharedPhysicsConfig.d.ts.map +1 -1
- package/lib/utils/sharedPhysicsConfig.js +0 -2
- package/lib/utils/sharedPhysicsConfig.js.map +1 -1
- package/lib/utils/skeletonScaling.d.ts +0 -9
- package/lib/utils/skeletonScaling.d.ts.map +1 -1
- package/lib/utils/skeletonScaling.js +0 -1
- package/lib/utils/skeletonScaling.js.map +1 -1
- package/package.json +7 -7
|
@@ -16,7 +16,6 @@ import type { ScreenSize } from '../systems/ResponsiveScaling';
|
|
|
16
16
|
* @param width - Viewport width in CSS pixels
|
|
17
17
|
* @returns Width budget for the 4:3 desktop arena
|
|
18
18
|
*
|
|
19
|
-
* @public
|
|
20
19
|
*/
|
|
21
20
|
export declare function getDesktopArenaWidthBudget(width: number): number;
|
|
22
21
|
/**
|
|
@@ -25,13 +24,6 @@ export declare function getDesktopArenaWidthBudget(width: number): number;
|
|
|
25
24
|
* @param screenSize - Current screen size category
|
|
26
25
|
* @returns Calculated padding in pixels
|
|
27
26
|
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```typescript
|
|
30
|
-
* const padding = getResponsivePadding('xlarge'); // 35
|
|
31
|
-
* const padding = getResponsivePadding('mobile'); // 20
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @public
|
|
35
27
|
*/
|
|
36
28
|
export declare function getResponsivePadding(screenSize: ScreenSize): number;
|
|
37
29
|
/**
|
|
@@ -40,13 +32,6 @@ export declare function getResponsivePadding(screenSize: ScreenSize): number;
|
|
|
40
32
|
* @param screenSize - Current screen size category
|
|
41
33
|
* @returns Calculated header height in pixels
|
|
42
34
|
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```typescript
|
|
45
|
-
* const headerHeight = getResponsiveHeaderHeight('xlarge'); // 120
|
|
46
|
-
* const headerHeight = getResponsiveHeaderHeight('mobile'); // 90
|
|
47
|
-
* ```
|
|
48
|
-
*
|
|
49
|
-
* @public
|
|
50
35
|
*/
|
|
51
36
|
export declare function getResponsiveHeaderHeight(screenSize: ScreenSize): number;
|
|
52
37
|
/**
|
|
@@ -55,13 +40,6 @@ export declare function getResponsiveHeaderHeight(screenSize: ScreenSize): numbe
|
|
|
55
40
|
* @param screenSize - Current screen size category
|
|
56
41
|
* @returns Calculated footer height in pixels
|
|
57
42
|
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```typescript
|
|
60
|
-
* const footerHeight = getResponsiveFooterHeight('xlarge'); // 100
|
|
61
|
-
* const footerHeight = getResponsiveFooterHeight('mobile'); // 75
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* @public
|
|
65
43
|
*/
|
|
66
44
|
export declare function getResponsiveFooterHeight(screenSize: ScreenSize): number;
|
|
67
45
|
/**
|
|
@@ -70,13 +48,6 @@ export declare function getResponsiveFooterHeight(screenSize: ScreenSize): numbe
|
|
|
70
48
|
* @param screenSize - Current screen size category
|
|
71
49
|
* @returns Calculated section spacing in pixels
|
|
72
50
|
*
|
|
73
|
-
* @example
|
|
74
|
-
* ```typescript
|
|
75
|
-
* const spacing = getResponsiveSectionSpacing('xlarge'); // 25
|
|
76
|
-
* const spacing = getResponsiveSectionSpacing('mobile'); // 15
|
|
77
|
-
* ```
|
|
78
|
-
*
|
|
79
|
-
* @public
|
|
80
51
|
*/
|
|
81
52
|
export declare function getResponsiveSectionSpacing(screenSize: ScreenSize): number;
|
|
82
53
|
/**
|
|
@@ -85,13 +56,6 @@ export declare function getResponsiveSectionSpacing(screenSize: ScreenSize): num
|
|
|
85
56
|
* @param screenSize - Current screen size category
|
|
86
57
|
* @returns Calculated button area in pixels
|
|
87
58
|
*
|
|
88
|
-
* @example
|
|
89
|
-
* ```typescript
|
|
90
|
-
* const buttonArea = getResponsiveButtonArea('xlarge'); // 110
|
|
91
|
-
* const buttonArea = getResponsiveButtonArea('mobile'); // 75
|
|
92
|
-
* ```
|
|
93
|
-
*
|
|
94
|
-
* @public
|
|
95
59
|
*/
|
|
96
60
|
export declare function getResponsiveButtonArea(screenSize: ScreenSize): number;
|
|
97
61
|
/**
|
|
@@ -101,19 +65,6 @@ export declare function getResponsiveButtonArea(screenSize: ScreenSize): number;
|
|
|
101
65
|
* @param width - Screen width in pixels
|
|
102
66
|
* @returns Object with all layout constant values
|
|
103
67
|
*
|
|
104
|
-
* @example
|
|
105
|
-
* ```typescript
|
|
106
|
-
* const layout = getLayoutConstants(3840); // 4K display
|
|
107
|
-
* // {
|
|
108
|
-
* // padding: 35,
|
|
109
|
-
* // headerHeight: 120,
|
|
110
|
-
* // footerHeight: 100,
|
|
111
|
-
* // sectionSpacing: 25,
|
|
112
|
-
* // buttonArea: 110
|
|
113
|
-
* // }
|
|
114
|
-
* ```
|
|
115
|
-
*
|
|
116
|
-
* @public
|
|
117
68
|
*/
|
|
118
69
|
export declare function getLayoutConstants(width: number): {
|
|
119
70
|
padding: number;
|
|
@@ -137,22 +88,6 @@ export declare function getLayoutConstants(width: number): {
|
|
|
137
88
|
* @param isMobile - Optional: Whether device is mobile (from user-agent detection)
|
|
138
89
|
* @returns Object with combat layout constant values
|
|
139
90
|
*
|
|
140
|
-
* @example
|
|
141
|
-
* ```typescript
|
|
142
|
-
* // Extra-small mobile (iPhone SE)
|
|
143
|
-
* const layout = getCombatLayoutConstants(375, true);
|
|
144
|
-
* // { padding: 8, hudHeight: 85, controlsHeight: 150, ... }
|
|
145
|
-
*
|
|
146
|
-
* // High-res mobile (Motorola Edge 60 Pro)
|
|
147
|
-
* const layoutHD = getCombatLayoutConstants(2712, true);
|
|
148
|
-
* // { padding: 10, hudHeight: 95, controlsHeight: 160, ... } (mobile values!)
|
|
149
|
-
*
|
|
150
|
-
* // Desktop
|
|
151
|
-
* const layoutDesktop = getCombatLayoutConstants(1920, false);
|
|
152
|
-
* // { padding: 10, hudHeight: 135, controlsHeight: 175, ... } (desktop values)
|
|
153
|
-
* ```
|
|
154
|
-
*
|
|
155
|
-
* @public
|
|
156
91
|
*/
|
|
157
92
|
export declare function getCombatLayoutConstants(width: number, isMobile?: boolean): {
|
|
158
93
|
padding: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveLayoutHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/responsiveLayoutHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAa/D
|
|
1
|
+
{"version":3,"file":"responsiveLayoutHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/responsiveLayoutHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAa/D;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAiDD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM;;;;;;EAU/C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;;;;;;;EA8DzE"}
|
|
@@ -26,7 +26,6 @@ var DESKTOP_ARENA_MAX_WIDTH_PX = 2560;
|
|
|
26
26
|
* @param width - Viewport width in CSS pixels
|
|
27
27
|
* @returns Width budget for the 4:3 desktop arena
|
|
28
28
|
*
|
|
29
|
-
* @public
|
|
30
29
|
*/
|
|
31
30
|
function getDesktopArenaWidthBudget(width) {
|
|
32
31
|
return Math.min(width * DESKTOP_ARENA_WIDTH_RATIO, DESKTOP_ARENA_MAX_WIDTH_PX);
|
|
@@ -78,13 +77,6 @@ var BASE_LAYOUT_VALUES = {
|
|
|
78
77
|
* @param screenSize - Current screen size category
|
|
79
78
|
* @returns Calculated padding in pixels
|
|
80
79
|
*
|
|
81
|
-
* @example
|
|
82
|
-
* ```typescript
|
|
83
|
-
* const padding = getResponsivePadding('xlarge'); // 35
|
|
84
|
-
* const padding = getResponsivePadding('mobile'); // 20
|
|
85
|
-
* ```
|
|
86
|
-
*
|
|
87
|
-
* @public
|
|
88
80
|
*/
|
|
89
81
|
function getResponsivePadding(screenSize) {
|
|
90
82
|
return BASE_LAYOUT_VALUES.padding[screenSize];
|
|
@@ -95,13 +87,6 @@ function getResponsivePadding(screenSize) {
|
|
|
95
87
|
* @param screenSize - Current screen size category
|
|
96
88
|
* @returns Calculated header height in pixels
|
|
97
89
|
*
|
|
98
|
-
* @example
|
|
99
|
-
* ```typescript
|
|
100
|
-
* const headerHeight = getResponsiveHeaderHeight('xlarge'); // 120
|
|
101
|
-
* const headerHeight = getResponsiveHeaderHeight('mobile'); // 90
|
|
102
|
-
* ```
|
|
103
|
-
*
|
|
104
|
-
* @public
|
|
105
90
|
*/
|
|
106
91
|
function getResponsiveHeaderHeight(screenSize) {
|
|
107
92
|
return BASE_LAYOUT_VALUES.headerHeight[screenSize];
|
|
@@ -112,13 +97,6 @@ function getResponsiveHeaderHeight(screenSize) {
|
|
|
112
97
|
* @param screenSize - Current screen size category
|
|
113
98
|
* @returns Calculated footer height in pixels
|
|
114
99
|
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* const footerHeight = getResponsiveFooterHeight('xlarge'); // 100
|
|
118
|
-
* const footerHeight = getResponsiveFooterHeight('mobile'); // 75
|
|
119
|
-
* ```
|
|
120
|
-
*
|
|
121
|
-
* @public
|
|
122
100
|
*/
|
|
123
101
|
function getResponsiveFooterHeight(screenSize) {
|
|
124
102
|
return BASE_LAYOUT_VALUES.footerHeight[screenSize];
|
|
@@ -129,13 +107,6 @@ function getResponsiveFooterHeight(screenSize) {
|
|
|
129
107
|
* @param screenSize - Current screen size category
|
|
130
108
|
* @returns Calculated section spacing in pixels
|
|
131
109
|
*
|
|
132
|
-
* @example
|
|
133
|
-
* ```typescript
|
|
134
|
-
* const spacing = getResponsiveSectionSpacing('xlarge'); // 25
|
|
135
|
-
* const spacing = getResponsiveSectionSpacing('mobile'); // 15
|
|
136
|
-
* ```
|
|
137
|
-
*
|
|
138
|
-
* @public
|
|
139
110
|
*/
|
|
140
111
|
function getResponsiveSectionSpacing(screenSize) {
|
|
141
112
|
return BASE_LAYOUT_VALUES.sectionSpacing[screenSize];
|
|
@@ -146,13 +117,6 @@ function getResponsiveSectionSpacing(screenSize) {
|
|
|
146
117
|
* @param screenSize - Current screen size category
|
|
147
118
|
* @returns Calculated button area in pixels
|
|
148
119
|
*
|
|
149
|
-
* @example
|
|
150
|
-
* ```typescript
|
|
151
|
-
* const buttonArea = getResponsiveButtonArea('xlarge'); // 110
|
|
152
|
-
* const buttonArea = getResponsiveButtonArea('mobile'); // 75
|
|
153
|
-
* ```
|
|
154
|
-
*
|
|
155
|
-
* @public
|
|
156
120
|
*/
|
|
157
121
|
function getResponsiveButtonArea(screenSize) {
|
|
158
122
|
return BASE_LAYOUT_VALUES.buttonArea[screenSize];
|
|
@@ -164,19 +128,6 @@ function getResponsiveButtonArea(screenSize) {
|
|
|
164
128
|
* @param width - Screen width in pixels
|
|
165
129
|
* @returns Object with all layout constant values
|
|
166
130
|
*
|
|
167
|
-
* @example
|
|
168
|
-
* ```typescript
|
|
169
|
-
* const layout = getLayoutConstants(3840); // 4K display
|
|
170
|
-
* // {
|
|
171
|
-
* // padding: 35,
|
|
172
|
-
* // headerHeight: 120,
|
|
173
|
-
* // footerHeight: 100,
|
|
174
|
-
* // sectionSpacing: 25,
|
|
175
|
-
* // buttonArea: 110
|
|
176
|
-
* // }
|
|
177
|
-
* ```
|
|
178
|
-
*
|
|
179
|
-
* @public
|
|
180
131
|
*/
|
|
181
132
|
function getLayoutConstants(width) {
|
|
182
133
|
const screenSize = getScreenSize(width);
|
|
@@ -203,22 +154,6 @@ function getLayoutConstants(width) {
|
|
|
203
154
|
* @param isMobile - Optional: Whether device is mobile (from user-agent detection)
|
|
204
155
|
* @returns Object with combat layout constant values
|
|
205
156
|
*
|
|
206
|
-
* @example
|
|
207
|
-
* ```typescript
|
|
208
|
-
* // Extra-small mobile (iPhone SE)
|
|
209
|
-
* const layout = getCombatLayoutConstants(375, true);
|
|
210
|
-
* // { padding: 8, hudHeight: 85, controlsHeight: 150, ... }
|
|
211
|
-
*
|
|
212
|
-
* // High-res mobile (Motorola Edge 60 Pro)
|
|
213
|
-
* const layoutHD = getCombatLayoutConstants(2712, true);
|
|
214
|
-
* // { padding: 10, hudHeight: 95, controlsHeight: 160, ... } (mobile values!)
|
|
215
|
-
*
|
|
216
|
-
* // Desktop
|
|
217
|
-
* const layoutDesktop = getCombatLayoutConstants(1920, false);
|
|
218
|
-
* // { padding: 10, hudHeight: 135, controlsHeight: 175, ... } (desktop values)
|
|
219
|
-
* ```
|
|
220
|
-
*
|
|
221
|
-
* @public
|
|
222
157
|
*/
|
|
223
158
|
function getCombatLayoutConstants(width, isMobile) {
|
|
224
159
|
const screenSize = isMobile ? "mobile" : getScreenSize(width);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveLayoutHelpers.js","names":[],"sources":["../../src/utils/responsiveLayoutHelpers.ts"],"sourcesContent":["/**\n * Responsive Layout Helpers\n * \n * Centralized utilities for calculating responsive layout constants\n * across different screen components. Uses the centralized ResponsiveScaling\n * system for consistent scaling patterns.\n * \n * @module utils/responsiveLayoutHelpers\n * @category Layout\n * @korean 반응형레이아웃도우미\n */\n\nimport { getScreenSize } from '../systems/ResponsiveScaling';\nimport type { ScreenSize } from '../systems/ResponsiveScaling';\n\n/** Desktop arena width as a proportion of viewport width. */\nconst DESKTOP_ARENA_WIDTH_RATIO = 0.8;\n\n/**\n * Maximum desktop arena width in CSS pixels.\n *\n * Caps ultra-wide/8K displays to protect WebGL fill-rate while preserving a\n * large, readable 4K desktop arena.\n */\nconst DESKTOP_ARENA_MAX_WIDTH_PX = 2560;\n\n/**\n * Calculate maximum desktop arena width for combat/training screens.\n *\n * @param width - Viewport width in CSS pixels\n * @returns Width budget for the 4:3 desktop arena\n *\n * @public\n */\nexport function getDesktopArenaWidthBudget(width: number): number {\n return Math.min(width * DESKTOP_ARENA_WIDTH_RATIO, DESKTOP_ARENA_MAX_WIDTH_PX);\n}\n\n/**\n * Base layout values for different screen sizes\n * These serve as reference values that scale proportionally\n */\nconst BASE_LAYOUT_VALUES = {\n // Base padding values (desktop reference)\n padding: {\n mobile: 20,\n tablet: 25,\n desktop: 30,\n large: 32,\n xlarge: 35,\n },\n // Base header height values\n headerHeight: {\n mobile: 90,\n tablet: 100,\n desktop: 110,\n large: 115,\n xlarge: 120,\n },\n // Base footer height values\n footerHeight: {\n mobile: 75,\n tablet: 85,\n desktop: 90,\n large: 95,\n xlarge: 100,\n },\n // Base section spacing values\n sectionSpacing: {\n mobile: 15,\n tablet: 18,\n desktop: 20,\n large: 22,\n xlarge: 25,\n },\n // Base button area values\n buttonArea: {\n mobile: 75,\n tablet: 85,\n desktop: 95,\n large: 102,\n xlarge: 110,\n },\n} as const;\n\n/**\n * Calculate responsive padding value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated padding in pixels\n * \n * @example\n * ```typescript\n * const padding = getResponsivePadding('xlarge'); // 35\n * const padding = getResponsivePadding('mobile'); // 20\n * ```\n * \n * @public\n */\nexport function getResponsivePadding(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.padding[screenSize];\n}\n\n/**\n * Calculate responsive header height value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated header height in pixels\n * \n * @example\n * ```typescript\n * const headerHeight = getResponsiveHeaderHeight('xlarge'); // 120\n * const headerHeight = getResponsiveHeaderHeight('mobile'); // 90\n * ```\n * \n * @public\n */\nexport function getResponsiveHeaderHeight(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.headerHeight[screenSize];\n}\n\n/**\n * Calculate responsive footer height value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated footer height in pixels\n * \n * @example\n * ```typescript\n * const footerHeight = getResponsiveFooterHeight('xlarge'); // 100\n * const footerHeight = getResponsiveFooterHeight('mobile'); // 75\n * ```\n * \n * @public\n */\nexport function getResponsiveFooterHeight(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.footerHeight[screenSize];\n}\n\n/**\n * Calculate responsive section spacing value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated section spacing in pixels\n * \n * @example\n * ```typescript\n * const spacing = getResponsiveSectionSpacing('xlarge'); // 25\n * const spacing = getResponsiveSectionSpacing('mobile'); // 15\n * ```\n * \n * @public\n */\nexport function getResponsiveSectionSpacing(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.sectionSpacing[screenSize];\n}\n\n/**\n * Calculate responsive button area value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated button area in pixels\n * \n * @example\n * ```typescript\n * const buttonArea = getResponsiveButtonArea('xlarge'); // 110\n * const buttonArea = getResponsiveButtonArea('mobile'); // 75\n * ```\n * \n * @public\n */\nexport function getResponsiveButtonArea(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.buttonArea[screenSize];\n}\n\n/**\n * Get all layout constants for a given screen size\n * Convenient helper that returns all layout values at once\n * \n * @param width - Screen width in pixels\n * @returns Object with all layout constant values\n * \n * @example\n * ```typescript\n * const layout = getLayoutConstants(3840); // 4K display\n * // {\n * // padding: 35,\n * // headerHeight: 120,\n * // footerHeight: 100,\n * // sectionSpacing: 25,\n * // buttonArea: 110\n * // }\n * ```\n * \n * @public\n */\nexport function getLayoutConstants(width: number) {\n const screenSize = getScreenSize(width);\n \n return {\n padding: getResponsivePadding(screenSize),\n headerHeight: getResponsiveHeaderHeight(screenSize),\n footerHeight: getResponsiveFooterHeight(screenSize),\n sectionSpacing: getResponsiveSectionSpacing(screenSize),\n buttonArea: getResponsiveButtonArea(screenSize),\n };\n}\n\n/**\n * Get combat-specific layout constants for a given screen size\n * \n * Optimized for narrow devices (<450px), with extra-small device support\n * explicitly tuned for ultra-small screens (<380px) like iPhone SE, old\n * Android phones, and budget smartphones.\n * \n * Now properly handles high-resolution mobile devices (2K+, Super HD) by\n * checking isMobile flag to ensure they get mobile-optimized layout values\n * regardless of pixel width.\n * \n * @param width - Screen width in pixels\n * @param isMobile - Optional: Whether device is mobile (from user-agent detection)\n * @returns Object with combat layout constant values\n * \n * @example\n * ```typescript\n * // Extra-small mobile (iPhone SE)\n * const layout = getCombatLayoutConstants(375, true);\n * // { padding: 8, hudHeight: 85, controlsHeight: 150, ... }\n * \n * // High-res mobile (Motorola Edge 60 Pro)\n * const layoutHD = getCombatLayoutConstants(2712, true);\n * // { padding: 10, hudHeight: 95, controlsHeight: 160, ... } (mobile values!)\n * \n * // Desktop\n * const layoutDesktop = getCombatLayoutConstants(1920, false);\n * // { padding: 10, hudHeight: 135, controlsHeight: 175, ... } (desktop values)\n * ```\n * \n * @public\n */\nexport function getCombatLayoutConstants(width: number, isMobile?: boolean) {\n // For mobile devices, force 'mobile' screen size regardless of pixel width\n // This ensures high-res mobile devices (2K+) get mobile-optimized layouts\n const screenSize = isMobile ? 'mobile' : getScreenSize(width);\n \n // Extra-small detection for low-end mobile devices (<380px)\n const isExtraSmall = isMobile && width < 380;\n \n // Combat screen uses different base values for compact HUD\n const hudHeightMap = {\n mobile: isExtraSmall ? 85 : 95,\n tablet: 100,\n desktop: 130,\n large: 135,\n xlarge: 140,\n };\n \n // Note: Tablet optimizations - controlsHeight and footerHeight are intentionally\n // smaller on tablets than mobile for better landscape orientation ergonomics.\n // Mobile (portrait) needs taller controls for thumb reach, while tablets\n // (often landscape) can use more compact controls with better screen utilization.\n const controlsHeightMap = {\n mobile: isExtraSmall ? 150 : 160, // Taller for portrait thumb reach\n tablet: 140, // Optimized for landscape - more compact\n desktop: 170,\n large: 175,\n xlarge: 180,\n };\n \n const footerHeightMap = {\n mobile: 34, // Adequate for portrait orientation\n tablet: 30, // Optimized for landscape - more compact\n desktop: 35,\n large: 37,\n xlarge: 40,\n };\n \n const healthBarHeightMap = {\n mobile: 48,\n tablet: 50,\n desktop: 65,\n large: 67,\n xlarge: 70,\n };\n \n // Touch target heights - WCAG AA compliance (minimum 44px)\n const buttonHeightMap = {\n mobile: isExtraSmall ? 48 : 55, // Minimum 48px for extra-small\n tablet: 55,\n desktop: 60,\n large: 60,\n xlarge: 60,\n };\n \n return {\n padding: isExtraSmall ? 8 : 10, // Reduced padding for extra-small\n hudHeight: hudHeightMap[screenSize],\n controlsHeight: controlsHeightMap[screenSize],\n footerHeight: footerHeightMap[screenSize],\n healthBarHeight: healthBarHeightMap[screenSize],\n buttonHeight: buttonHeightMap[screenSize],\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,IAAM,4BAA4B;;;;;;;AAQlC,IAAM,6BAA6B;;;;;;;;;AAUnC,SAAgB,2BAA2B,OAAuB;CAChE,OAAO,KAAK,IAAI,QAAQ,2BAA2B,2BAA2B;;;;;;AAOhF,IAAM,qBAAqB;CAEzB,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,gBAAgB;EACd,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CACF;;;;;;;;;;;;;;;AAgBD,SAAgB,qBAAqB,YAAgC;CACnE,OAAO,mBAAmB,QAAQ;;;;;;;;;;;;;;;;AAiBpC,SAAgB,0BAA0B,YAAgC;CACxE,OAAO,mBAAmB,aAAa;;;;;;;;;;;;;;;;AAiBzC,SAAgB,0BAA0B,YAAgC;CACxE,OAAO,mBAAmB,aAAa;;;;;;;;;;;;;;;;AAiBzC,SAAgB,4BAA4B,YAAgC;CAC1E,OAAO,mBAAmB,eAAe;;;;;;;;;;;;;;;;AAiB3C,SAAgB,wBAAwB,YAAgC;CACtE,OAAO,mBAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;AAwBvC,SAAgB,mBAAmB,OAAe;CAChD,MAAM,aAAa,cAAc,MAAM;CAEvC,OAAO;EACL,SAAS,qBAAqB,WAAW;EACzC,cAAc,0BAA0B,WAAW;EACnD,cAAc,0BAA0B,WAAW;EACnD,gBAAgB,4BAA4B,WAAW;EACvD,YAAY,wBAAwB,WAAW;EAChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,SAAgB,yBAAyB,OAAe,UAAoB;CAG1E,MAAM,aAAa,WAAW,WAAW,cAAc,MAAM;CAG7D,MAAM,eAAe,YAAY,QAAQ;CAGzC,MAAM,eAAe;EACnB,QAAQ,eAAe,KAAK;EAC5B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAMD,MAAM,oBAAoB;EACxB,QAAQ,eAAe,MAAM;EAC7B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,MAAM,kBAAkB;EACtB,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,MAAM,qBAAqB;EACzB,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAGD,MAAM,kBAAkB;EACtB,QAAQ,eAAe,KAAK;EAC5B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,OAAO;EACL,SAAS,eAAe,IAAI;EAC5B,WAAW,aAAa;EACxB,gBAAgB,kBAAkB;EAClC,cAAc,gBAAgB;EAC9B,iBAAiB,mBAAmB;EACpC,cAAc,gBAAgB;EAC/B"}
|
|
1
|
+
{"version":3,"file":"responsiveLayoutHelpers.js","names":[],"sources":["../../src/utils/responsiveLayoutHelpers.ts"],"sourcesContent":["/**\n * Responsive Layout Helpers\n * \n * Centralized utilities for calculating responsive layout constants\n * across different screen components. Uses the centralized ResponsiveScaling\n * system for consistent scaling patterns.\n * \n * @module utils/responsiveLayoutHelpers\n * @category Layout\n * @korean 반응형레이아웃도우미\n */\n\nimport { getScreenSize } from '../systems/ResponsiveScaling';\nimport type { ScreenSize } from '../systems/ResponsiveScaling';\n\n/** Desktop arena width as a proportion of viewport width. */\nconst DESKTOP_ARENA_WIDTH_RATIO = 0.8;\n\n/**\n * Maximum desktop arena width in CSS pixels.\n *\n * Caps ultra-wide/8K displays to protect WebGL fill-rate while preserving a\n * large, readable 4K desktop arena.\n */\nconst DESKTOP_ARENA_MAX_WIDTH_PX = 2560;\n\n/**\n * Calculate maximum desktop arena width for combat/training screens.\n *\n * @param width - Viewport width in CSS pixels\n * @returns Width budget for the 4:3 desktop arena\n *\n */\nexport function getDesktopArenaWidthBudget(width: number): number {\n return Math.min(width * DESKTOP_ARENA_WIDTH_RATIO, DESKTOP_ARENA_MAX_WIDTH_PX);\n}\n\n/**\n * Base layout values for different screen sizes\n * These serve as reference values that scale proportionally\n */\nconst BASE_LAYOUT_VALUES = {\n // Base padding values (desktop reference)\n padding: {\n mobile: 20,\n tablet: 25,\n desktop: 30,\n large: 32,\n xlarge: 35,\n },\n // Base header height values\n headerHeight: {\n mobile: 90,\n tablet: 100,\n desktop: 110,\n large: 115,\n xlarge: 120,\n },\n // Base footer height values\n footerHeight: {\n mobile: 75,\n tablet: 85,\n desktop: 90,\n large: 95,\n xlarge: 100,\n },\n // Base section spacing values\n sectionSpacing: {\n mobile: 15,\n tablet: 18,\n desktop: 20,\n large: 22,\n xlarge: 25,\n },\n // Base button area values\n buttonArea: {\n mobile: 75,\n tablet: 85,\n desktop: 95,\n large: 102,\n xlarge: 110,\n },\n} as const;\n\n/**\n * Calculate responsive padding value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated padding in pixels\n * \n */\nexport function getResponsivePadding(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.padding[screenSize];\n}\n\n/**\n * Calculate responsive header height value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated header height in pixels\n * \n */\nexport function getResponsiveHeaderHeight(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.headerHeight[screenSize];\n}\n\n/**\n * Calculate responsive footer height value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated footer height in pixels\n * \n */\nexport function getResponsiveFooterHeight(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.footerHeight[screenSize];\n}\n\n/**\n * Calculate responsive section spacing value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated section spacing in pixels\n * \n */\nexport function getResponsiveSectionSpacing(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.sectionSpacing[screenSize];\n}\n\n/**\n * Calculate responsive button area value\n * \n * @param screenSize - Current screen size category\n * @returns Calculated button area in pixels\n * \n */\nexport function getResponsiveButtonArea(screenSize: ScreenSize): number {\n return BASE_LAYOUT_VALUES.buttonArea[screenSize];\n}\n\n/**\n * Get all layout constants for a given screen size\n * Convenient helper that returns all layout values at once\n * \n * @param width - Screen width in pixels\n * @returns Object with all layout constant values\n * \n */\nexport function getLayoutConstants(width: number) {\n const screenSize = getScreenSize(width);\n \n return {\n padding: getResponsivePadding(screenSize),\n headerHeight: getResponsiveHeaderHeight(screenSize),\n footerHeight: getResponsiveFooterHeight(screenSize),\n sectionSpacing: getResponsiveSectionSpacing(screenSize),\n buttonArea: getResponsiveButtonArea(screenSize),\n };\n}\n\n/**\n * Get combat-specific layout constants for a given screen size\n * \n * Optimized for narrow devices (<450px), with extra-small device support\n * explicitly tuned for ultra-small screens (<380px) like iPhone SE, old\n * Android phones, and budget smartphones.\n * \n * Now properly handles high-resolution mobile devices (2K+, Super HD) by\n * checking isMobile flag to ensure they get mobile-optimized layout values\n * regardless of pixel width.\n * \n * @param width - Screen width in pixels\n * @param isMobile - Optional: Whether device is mobile (from user-agent detection)\n * @returns Object with combat layout constant values\n * \n */\nexport function getCombatLayoutConstants(width: number, isMobile?: boolean) {\n // For mobile devices, force 'mobile' screen size regardless of pixel width\n // This ensures high-res mobile devices (2K+) get mobile-optimized layouts\n const screenSize = isMobile ? 'mobile' : getScreenSize(width);\n \n // Extra-small detection for low-end mobile devices (<380px)\n const isExtraSmall = isMobile && width < 380;\n \n // Combat screen uses different base values for compact HUD\n const hudHeightMap = {\n mobile: isExtraSmall ? 85 : 95,\n tablet: 100,\n desktop: 130,\n large: 135,\n xlarge: 140,\n };\n \n // Note: Tablet optimizations - controlsHeight and footerHeight are intentionally\n // smaller on tablets than mobile for better landscape orientation ergonomics.\n // Mobile (portrait) needs taller controls for thumb reach, while tablets\n // (often landscape) can use more compact controls with better screen utilization.\n const controlsHeightMap = {\n mobile: isExtraSmall ? 150 : 160, // Taller for portrait thumb reach\n tablet: 140, // Optimized for landscape - more compact\n desktop: 170,\n large: 175,\n xlarge: 180,\n };\n \n const footerHeightMap = {\n mobile: 34, // Adequate for portrait orientation\n tablet: 30, // Optimized for landscape - more compact\n desktop: 35,\n large: 37,\n xlarge: 40,\n };\n \n const healthBarHeightMap = {\n mobile: 48,\n tablet: 50,\n desktop: 65,\n large: 67,\n xlarge: 70,\n };\n \n // Touch target heights - WCAG AA compliance (minimum 44px)\n const buttonHeightMap = {\n mobile: isExtraSmall ? 48 : 55, // Minimum 48px for extra-small\n tablet: 55,\n desktop: 60,\n large: 60,\n xlarge: 60,\n };\n \n return {\n padding: isExtraSmall ? 8 : 10, // Reduced padding for extra-small\n hudHeight: hudHeightMap[screenSize],\n controlsHeight: controlsHeightMap[screenSize],\n footerHeight: footerHeightMap[screenSize],\n healthBarHeight: healthBarHeightMap[screenSize],\n buttonHeight: buttonHeightMap[screenSize],\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,IAAM,4BAA4B;;;;;;;AAQlC,IAAM,6BAA6B;;;;;;;;AASnC,SAAgB,2BAA2B,OAAuB;CAChE,OAAO,KAAK,IAAI,QAAQ,2BAA2B,2BAA2B;;;;;;AAOhF,IAAM,qBAAqB;CAEzB,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,gBAAgB;EACd,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CACF;;;;;;;;AASD,SAAgB,qBAAqB,YAAgC;CACnE,OAAO,mBAAmB,QAAQ;;;;;;;;;AAUpC,SAAgB,0BAA0B,YAAgC;CACxE,OAAO,mBAAmB,aAAa;;;;;;;;;AAUzC,SAAgB,0BAA0B,YAAgC;CACxE,OAAO,mBAAmB,aAAa;;;;;;;;;AAUzC,SAAgB,4BAA4B,YAAgC;CAC1E,OAAO,mBAAmB,eAAe;;;;;;;;;AAU3C,SAAgB,wBAAwB,YAAgC;CACtE,OAAO,mBAAmB,WAAW;;;;;;;;;;AAWvC,SAAgB,mBAAmB,OAAe;CAChD,MAAM,aAAa,cAAc,MAAM;CAEvC,OAAO;EACL,SAAS,qBAAqB,WAAW;EACzC,cAAc,0BAA0B,WAAW;EACnD,cAAc,0BAA0B,WAAW;EACnD,gBAAgB,4BAA4B,WAAW;EACvD,YAAY,wBAAwB,WAAW;EAChD;;;;;;;;;;;;;;;;;;AAmBH,SAAgB,yBAAyB,OAAe,UAAoB;CAG1E,MAAM,aAAa,WAAW,WAAW,cAAc,MAAM;CAG7D,MAAM,eAAe,YAAY,QAAQ;CAGzC,MAAM,eAAe;EACnB,QAAQ,eAAe,KAAK;EAC5B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAMD,MAAM,oBAAoB;EACxB,QAAQ,eAAe,MAAM;EAC7B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,MAAM,kBAAkB;EACtB,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,MAAM,qBAAqB;EACzB,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAGD,MAAM,kBAAkB;EACtB,QAAQ,eAAe,KAAK;EAC5B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CAED,OAAO;EACL,SAAS,eAAe,IAAI;EAC5B,WAAW,aAAa;EACxB,gBAAgB,kBAAkB;EAClC,cAAc,gBAAgB;EAC9B,iBAAiB,mBAAmB;EACpC,cAAc,gBAAgB;EAC/B"}
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
* factor is < 1.0 so near-square viewports (e.g. `1024×1000`) settle into
|
|
18
18
|
* one orientation and don't flap on every pixel of resize.
|
|
19
19
|
*
|
|
20
|
-
* @public
|
|
21
20
|
*/
|
|
22
21
|
export declare const PORTRAIT_HYSTERESIS_FACTOR = 0.9;
|
|
23
22
|
/**
|
|
@@ -28,7 +27,6 @@ export declare const PORTRAIT_HYSTERESIS_FACTOR = 0.9;
|
|
|
28
27
|
* This makes devtools emulation of a rotated phone/tablet behave identically
|
|
29
28
|
* to a real device.
|
|
30
29
|
*
|
|
31
|
-
* @public
|
|
32
30
|
*/
|
|
33
31
|
export declare const PORTRAIT_FORCE_MAX_WIDTH_PX = 1024;
|
|
34
32
|
/**
|
|
@@ -44,7 +42,6 @@ export declare const PORTRAIT_FORCE_MAX_WIDTH_PX = 1024;
|
|
|
44
42
|
* D-Pad + action buttons + the persistent technique bar. Training uses
|
|
45
43
|
* the smaller 180/140 band because its on-screen controls are lighter.
|
|
46
44
|
*
|
|
47
|
-
* @public
|
|
48
45
|
*/
|
|
49
46
|
export declare const MOBILE_CONTROLS_RESERVED_HEIGHT_PX: {
|
|
50
47
|
/** D-Pad + action buttons + technique bar on combat (standard phones) */
|
|
@@ -63,7 +60,6 @@ export declare const MOBILE_CONTROLS_RESERVED_HEIGHT_PX: {
|
|
|
63
60
|
* compact values reserve only the visible bottom technique/control band while
|
|
64
61
|
* still keeping the 3D arena above touch controls.
|
|
65
62
|
*
|
|
66
|
-
* @public
|
|
67
63
|
*/
|
|
68
64
|
export declare const LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX: {
|
|
69
65
|
/** Combat bottom band on landscape phones */
|
|
@@ -84,7 +80,6 @@ export declare const LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX: {
|
|
|
84
80
|
* @param isExtraSmall - true when the viewport is < 380px wide
|
|
85
81
|
* @param variant - "combat" or "training" (differs in control band size)
|
|
86
82
|
*
|
|
87
|
-
* @public
|
|
88
83
|
*/
|
|
89
84
|
export declare function portraitMobileControlsBottomBand(controlsHeight: number, footerHeight: number, isExtraSmall: boolean, variant: "combat" | "training"): number;
|
|
90
85
|
/**
|
|
@@ -93,7 +88,6 @@ export declare function portraitMobileControlsBottomBand(controlsHeight: number,
|
|
|
93
88
|
* @param isExtraSmall - true when the viewport is < 380px wide
|
|
94
89
|
* @param variant - "combat" or "training"
|
|
95
90
|
*
|
|
96
|
-
* @public
|
|
97
91
|
*/
|
|
98
92
|
export declare function landscapeMobileControlsBottomClearance(isExtraSmall: boolean, variant: "combat" | "training"): number;
|
|
99
93
|
/**
|
|
@@ -109,7 +103,6 @@ export declare function landscapeMobileControlsBottomClearance(isExtraSmall: boo
|
|
|
109
103
|
* @param isPortrait - true for portrait orientation
|
|
110
104
|
* @param variant - "combat" or "training"
|
|
111
105
|
*
|
|
112
|
-
* @public
|
|
113
106
|
*/
|
|
114
107
|
export declare function mobileControlsBottomClearance(controlsHeight: number, footerHeight: number, isExtraSmall: boolean, isPortrait: boolean, variant: "combat" | "training"): number;
|
|
115
108
|
//# sourceMappingURL=responsiveOrientationConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveOrientationConstants.d.ts","sourceRoot":"","sources":["../../src/utils/responsiveOrientationConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH
|
|
1
|
+
{"version":3,"file":"responsiveOrientationConstants.d.ts","sourceRoot":"","sources":["../../src/utils/responsiveOrientationConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kCAAkC;IAC7C,yEAAyE;;IAEzE,0DAA0D;;IAE1D,oDAAoD;;IAEpD,uDAAuD;;CAE/C,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,6CAA6C;IACxD,6CAA6C;;IAE7C,yDAAyD;;IAEzD,+CAA+C;;IAE/C,2DAA2D;;CAEnD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,QAAQ,GAAG,UAAU,GAC7B,MAAM,CAWR;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,QAAQ,GAAG,UAAU,GAC7B,MAAM,CAUR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,QAAQ,GAAG,UAAU,GAC7B,MAAM,CASR"}
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
* factor is < 1.0 so near-square viewports (e.g. `1024×1000`) settle into
|
|
19
19
|
* one orientation and don't flap on every pixel of resize.
|
|
20
20
|
*
|
|
21
|
-
* @public
|
|
22
21
|
*/
|
|
23
22
|
var PORTRAIT_HYSTERESIS_FACTOR = .9;
|
|
24
23
|
/**
|
|
@@ -29,7 +28,6 @@ var PORTRAIT_HYSTERESIS_FACTOR = .9;
|
|
|
29
28
|
* This makes devtools emulation of a rotated phone/tablet behave identically
|
|
30
29
|
* to a real device.
|
|
31
30
|
*
|
|
32
|
-
* @public
|
|
33
31
|
*/
|
|
34
32
|
var PORTRAIT_FORCE_MAX_WIDTH_PX = 1024;
|
|
35
33
|
/**
|
|
@@ -45,7 +43,6 @@ var PORTRAIT_FORCE_MAX_WIDTH_PX = 1024;
|
|
|
45
43
|
* D-Pad + action buttons + the persistent technique bar. Training uses
|
|
46
44
|
* the smaller 180/140 band because its on-screen controls are lighter.
|
|
47
45
|
*
|
|
48
|
-
* @public
|
|
49
46
|
*/
|
|
50
47
|
var MOBILE_CONTROLS_RESERVED_HEIGHT_PX = {
|
|
51
48
|
/** D-Pad + action buttons + technique bar on combat (standard phones) */
|
|
@@ -64,7 +61,6 @@ var MOBILE_CONTROLS_RESERVED_HEIGHT_PX = {
|
|
|
64
61
|
* compact values reserve only the visible bottom technique/control band while
|
|
65
62
|
* still keeping the 3D arena above touch controls.
|
|
66
63
|
*
|
|
67
|
-
* @public
|
|
68
64
|
*/
|
|
69
65
|
var LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX = {
|
|
70
66
|
/** Combat bottom band on landscape phones */
|
|
@@ -85,7 +81,6 @@ var LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX = {
|
|
|
85
81
|
* @param isExtraSmall - true when the viewport is < 380px wide
|
|
86
82
|
* @param variant - "combat" or "training" (differs in control band size)
|
|
87
83
|
*
|
|
88
|
-
* @public
|
|
89
84
|
*/
|
|
90
85
|
function portraitMobileControlsBottomBand(controlsHeight, footerHeight, isExtraSmall, variant) {
|
|
91
86
|
const band = variant === "combat" ? isExtraSmall ? MOBILE_CONTROLS_RESERVED_HEIGHT_PX.combatExtraSmall : MOBILE_CONTROLS_RESERVED_HEIGHT_PX.combatStandard : isExtraSmall ? MOBILE_CONTROLS_RESERVED_HEIGHT_PX.trainingExtraSmall : MOBILE_CONTROLS_RESERVED_HEIGHT_PX.trainingStandard;
|
|
@@ -97,7 +92,6 @@ function portraitMobileControlsBottomBand(controlsHeight, footerHeight, isExtraS
|
|
|
97
92
|
* @param isExtraSmall - true when the viewport is < 380px wide
|
|
98
93
|
* @param variant - "combat" or "training"
|
|
99
94
|
*
|
|
100
|
-
* @public
|
|
101
95
|
*/
|
|
102
96
|
function landscapeMobileControlsBottomClearance(isExtraSmall, variant) {
|
|
103
97
|
if (variant === "combat") return isExtraSmall ? LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX.combatExtraSmall : LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX.combatStandard;
|
|
@@ -116,7 +110,6 @@ function landscapeMobileControlsBottomClearance(isExtraSmall, variant) {
|
|
|
116
110
|
* @param isPortrait - true for portrait orientation
|
|
117
111
|
* @param variant - "combat" or "training"
|
|
118
112
|
*
|
|
119
|
-
* @public
|
|
120
113
|
*/
|
|
121
114
|
function mobileControlsBottomClearance(controlsHeight, footerHeight, isExtraSmall, isPortrait, variant) {
|
|
122
115
|
return isPortrait ? portraitMobileControlsBottomBand(controlsHeight, footerHeight, isExtraSmall, variant) : landscapeMobileControlsBottomClearance(isExtraSmall, variant);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveOrientationConstants.js","names":[],"sources":["../../src/utils/responsiveOrientationConstants.ts"],"sourcesContent":["/**\n * Shared constants for orientation-aware responsive layout.\n *\n * Extracted so that `useCombatLayout` and `useTrainingLayout` compute the\n * same portrait \"bottom band\" and share a single source of truth for the\n * portrait-forcing hysteresis and the reserved control-column heights.\n *\n * 반응형 레이아웃 상수\n *\n * @module utils/responsiveOrientationConstants\n * @category Layout\n */\n\n/**\n * Hysteresis factor for portrait detection.\n *\n * A viewport is treated as portrait when `height > width × FACTOR`. The\n * factor is < 1.0 so near-square viewports (e.g. `1024×1000`) settle into\n * one orientation and don't flap on every pixel of resize.\n *\n
|
|
1
|
+
{"version":3,"file":"responsiveOrientationConstants.js","names":[],"sources":["../../src/utils/responsiveOrientationConstants.ts"],"sourcesContent":["/**\n * Shared constants for orientation-aware responsive layout.\n *\n * Extracted so that `useCombatLayout` and `useTrainingLayout` compute the\n * same portrait \"bottom band\" and share a single source of truth for the\n * portrait-forcing hysteresis and the reserved control-column heights.\n *\n * 반응형 레이아웃 상수\n *\n * @module utils/responsiveOrientationConstants\n * @category Layout\n */\n\n/**\n * Hysteresis factor for portrait detection.\n *\n * A viewport is treated as portrait when `height > width × FACTOR`. The\n * factor is < 1.0 so near-square viewports (e.g. `1024×1000`) settle into\n * one orientation and don't flap on every pixel of resize.\n *\n */\nexport const PORTRAIT_HYSTERESIS_FACTOR = 0.9;\n\n/**\n * Maximum width at which a portrait viewport is force-promoted to the mobile\n * layout branch even if the user-agent reports a desktop browser. Matches the\n * tablet breakpoint used elsewhere in the codebase (1024px).\n *\n * This makes devtools emulation of a rotated phone/tablet behave identically\n * to a real device.\n *\n */\nexport const PORTRAIT_FORCE_MAX_WIDTH_PX = 1024;\n\n/**\n * Height reserved at the bottom of a mobile portrait viewport for the\n * on-screen virtual controls (D-Pad + action buttons rendered by\n * `MobileControlsWrapper`). Used as a conservative upper bound so the\n * 3D arena never ends up drawn behind the controls.\n *\n * Two values are provided so that very small phones (iPhone SE class,\n * width < 380) can still fit a playable arena.\n *\n * Combat uses the larger 200/160 band because its Mobile controls stack\n * D-Pad + action buttons + the persistent technique bar. Training uses\n * the smaller 180/140 band because its on-screen controls are lighter.\n *\n */\nexport const MOBILE_CONTROLS_RESERVED_HEIGHT_PX = {\n /** D-Pad + action buttons + technique bar on combat (standard phones) */\n combatStandard: 200,\n /** Combat controls on extra-small phones (width < 380) */\n combatExtraSmall: 160,\n /** Training on-screen controls (standard phones) */\n trainingStandard: 180,\n /** Training on-screen controls (extra-small phones) */\n trainingExtraSmall: 140,\n} as const;\n\n/**\n * Height reserved at the bottom of mobile landscape viewports.\n *\n * Landscape devices have less vertical room than portrait phones, so these\n * compact values reserve only the visible bottom technique/control band while\n * still keeping the 3D arena above touch controls.\n *\n */\nexport const LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX = {\n /** Combat bottom band on landscape phones */\n combatStandard: 120,\n /** Combat bottom band on extra-small landscape phones */\n combatExtraSmall: 110,\n /** Training bottom band on landscape phones */\n trainingStandard: 120,\n /** Training bottom band on extra-small landscape phones */\n trainingExtraSmall: 110,\n} as const;\n\n/**\n * Total bottom clearance to reserve in portrait mode = control/technique\n * bar height + footer height + the on-screen virtual controls band.\n *\n * @param controlsHeight - layout constant for technique/control bar\n * @param footerHeight - layout constant for footer\n * @param isExtraSmall - true when the viewport is < 380px wide\n * @param variant - \"combat\" or \"training\" (differs in control band size)\n *\n */\nexport function portraitMobileControlsBottomBand(\n controlsHeight: number,\n footerHeight: number,\n isExtraSmall: boolean,\n variant: \"combat\" | \"training\",\n): number {\n const band =\n variant === \"combat\"\n ? isExtraSmall\n ? MOBILE_CONTROLS_RESERVED_HEIGHT_PX.combatExtraSmall\n : MOBILE_CONTROLS_RESERVED_HEIGHT_PX.combatStandard\n : isExtraSmall\n ? MOBILE_CONTROLS_RESERVED_HEIGHT_PX.trainingExtraSmall\n : MOBILE_CONTROLS_RESERVED_HEIGHT_PX.trainingStandard;\n\n return controlsHeight + footerHeight + band;\n}\n\n/**\n * Bottom clearance for mobile landscape viewports.\n *\n * @param isExtraSmall - true when the viewport is < 380px wide\n * @param variant - \"combat\" or \"training\"\n *\n */\nexport function landscapeMobileControlsBottomClearance(\n isExtraSmall: boolean,\n variant: \"combat\" | \"training\",\n): number {\n if (variant === \"combat\") {\n return isExtraSmall\n ? LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX.combatExtraSmall\n : LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX.combatStandard;\n }\n\n return isExtraSmall\n ? LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX.trainingExtraSmall\n : LANDSCAPE_MOBILE_CONTROLS_BOTTOM_CLEARANCE_PX.trainingStandard;\n}\n\n/**\n * Orientation-aware bottom clearance for mobile combat/training arenas.\n *\n * Keeps callers from duplicating portrait-vs-landscape clearance rules while\n * preserving the compact landscape band and the full portrait touch-control\n * reservation.\n *\n * @param controlsHeight - layout constant for technique/control bar\n * @param footerHeight - layout constant for footer\n * @param isExtraSmall - true when the viewport is < 380px wide\n * @param isPortrait - true for portrait orientation\n * @param variant - \"combat\" or \"training\"\n *\n */\nexport function mobileControlsBottomClearance(\n controlsHeight: number,\n footerHeight: number,\n isExtraSmall: boolean,\n isPortrait: boolean,\n variant: \"combat\" | \"training\",\n): number {\n return isPortrait\n ? portraitMobileControlsBottomBand(\n controlsHeight,\n footerHeight,\n isExtraSmall,\n variant,\n )\n : landscapeMobileControlsBottomClearance(isExtraSmall, variant);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,6BAA6B;;;;;;;;;;AAW1C,IAAa,8BAA8B;;;;;;;;;;;;;;;AAgB3C,IAAa,qCAAqC;;CAEhD,gBAAgB;;CAEhB,kBAAkB;;CAElB,kBAAkB;;CAElB,oBAAoB;CACrB;;;;;;;;;AAUD,IAAa,gDAAgD;;CAE3D,gBAAgB;;CAEhB,kBAAkB;;CAElB,kBAAkB;;CAElB,oBAAoB;CACrB;;;;;;;;;;;AAYD,SAAgB,iCACd,gBACA,cACA,cACA,SACQ;CACR,MAAM,OACJ,YAAY,WACR,eACE,mCAAmC,mBACnC,mCAAmC,iBACrC,eACE,mCAAmC,qBACnC,mCAAmC;CAE3C,OAAO,iBAAiB,eAAe;;;;;;;;;AAUzC,SAAgB,uCACd,cACA,SACQ;CACR,IAAI,YAAY,UACd,OAAO,eACH,8CAA8C,mBAC9C,8CAA8C;CAGpD,OAAO,eACH,8CAA8C,qBAC9C,8CAA8C;;;;;;;;;;;;;;;;AAiBpD,SAAgB,8BACd,gBACA,cACA,cACA,YACA,SACQ;CACR,OAAO,aACH,iCACE,gBACA,cACA,cACA,QACD,GACD,uCAAuC,cAAc,QAAQ"}
|
|
@@ -29,7 +29,6 @@ export type SafeAreaEdge = "top" | "bottom" | "left" | "right";
|
|
|
29
29
|
* getSafeAreaInset('bottom', 20); // "env(safe-area-inset-bottom, 20px)"
|
|
30
30
|
* ```
|
|
31
31
|
*
|
|
32
|
-
* @public
|
|
33
32
|
* @korean 안전영역삽입얻기
|
|
34
33
|
*/
|
|
35
34
|
export declare function getSafeAreaInset(edge: SafeAreaEdge, fallback?: number): string;
|
|
@@ -50,7 +49,6 @@ export declare function getSafeAreaInset(edge: SafeAreaEdge, fallback?: number):
|
|
|
50
49
|
* // }
|
|
51
50
|
* ```
|
|
52
51
|
*
|
|
53
|
-
* @public
|
|
54
52
|
* @korean 안전영역패딩얻기
|
|
55
53
|
*/
|
|
56
54
|
export declare function getSafeAreaPadding(edges: readonly SafeAreaEdge[], additionalPadding?: number): Partial<Record<`padding${Capitalize<SafeAreaEdge>}`, string>>;
|
|
@@ -68,7 +66,6 @@ export declare function getSafeAreaPadding(edges: readonly SafeAreaEdge[], addit
|
|
|
68
66
|
* // "calc(20px + env(safe-area-inset-bottom, 34px))"
|
|
69
67
|
* ```
|
|
70
68
|
*
|
|
71
|
-
* @public
|
|
72
69
|
* @korean 안전영역위치얻기
|
|
73
70
|
*/
|
|
74
71
|
export declare function getSafeAreaPosition(edge: SafeAreaEdge, baseOffset?: number): string;
|
|
@@ -85,7 +82,6 @@ export declare function getSafeAreaPosition(edge: SafeAreaEdge, baseOffset?: num
|
|
|
85
82
|
* // "calc(100vh - env(safe-area-inset-top, 44px) - env(safe-area-inset-bottom, 34px))"
|
|
86
83
|
* ```
|
|
87
84
|
*
|
|
88
|
-
* @public
|
|
89
85
|
* @korean 안전영역높이얻기
|
|
90
86
|
*/
|
|
91
87
|
export declare function getSafeAreaHeight(excludeEdges: readonly SafeAreaEdge[]): string;
|
|
@@ -102,7 +98,6 @@ export declare function getSafeAreaHeight(excludeEdges: readonly SafeAreaEdge[])
|
|
|
102
98
|
* }
|
|
103
99
|
* ```
|
|
104
100
|
*
|
|
105
|
-
* @public
|
|
106
101
|
* @korean 안전영역삽입여부
|
|
107
102
|
*/
|
|
108
103
|
export declare function hasSafeAreaInsets(): boolean;
|
|
@@ -122,7 +117,6 @@ export declare function hasSafeAreaInsets(): boolean;
|
|
|
122
117
|
* });
|
|
123
118
|
* ```
|
|
124
119
|
*
|
|
125
|
-
* @public
|
|
126
120
|
* @korean 안전영역스타일얻기
|
|
127
121
|
*/
|
|
128
122
|
export declare function getSafeAreaStyles(options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeAreaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/safeAreaUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"safeAreaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/safeAreaUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAYR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,iBAAiB,SAAI,GACpB,OAAO,CAAC,MAAM,CAAC,UAAU,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAa/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,UAAU,SAAI,GACb,MAAM,CAER;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,YAAY,EAAE,GACpC,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAgB3C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;CACrD,GAAG,KAAK,CAAC,aAAa,CAStB"}
|
|
@@ -24,7 +24,6 @@ import { SAFE_AREA_INSETS } from "../types/constants/ui.js";
|
|
|
24
24
|
* getSafeAreaInset('bottom', 20); // "env(safe-area-inset-bottom, 20px)"
|
|
25
25
|
* ```
|
|
26
26
|
*
|
|
27
|
-
* @public
|
|
28
27
|
* @korean 안전영역삽입얻기
|
|
29
28
|
*/
|
|
30
29
|
function getSafeAreaInset(edge, fallback) {
|
|
@@ -48,7 +47,6 @@ function getSafeAreaInset(edge, fallback) {
|
|
|
48
47
|
* // }
|
|
49
48
|
* ```
|
|
50
49
|
*
|
|
51
|
-
* @public
|
|
52
50
|
* @korean 안전영역패딩얻기
|
|
53
51
|
*/
|
|
54
52
|
function getSafeAreaPadding(edges, additionalPadding = 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeAreaUtils.js","names":[],"sources":["../../src/utils/safeAreaUtils.ts"],"sourcesContent":["/**\n * Safe area utilities for handling notched devices\n * \n * Provides CSS safe area inset helpers for iOS and Android devices\n * with notches, home indicators, and other screen intrusions.\n * \n * @module utils/safeAreaUtils\n * @category UI Utilities\n * @korean 안전영역유틸리티\n */\n\nimport { SAFE_AREA_INSETS } from \"../types/constants/ui\";\n\n/**\n * Safe area edge types\n * \n * @category Safe Area\n * @korean 안전영역가장자리타입\n */\nexport type SafeAreaEdge = \"top\" | \"bottom\" | \"left\" | \"right\";\n\n/**\n * Get CSS safe area inset with fallback\n * Returns CSS `env()` with fallback to constant values\n * \n * @param edge - Which edge to get inset for\n * @param fallback - Optional custom fallback value in pixels\n * @returns CSS string with env() and fallback\n * \n * @example\n * ```typescript\n * getSafeAreaInset('top'); // \"env(safe-area-inset-top, 44px)\"\n * getSafeAreaInset('bottom', 20); // \"env(safe-area-inset-bottom, 20px)\"\n * ```\n * \n * @
|
|
1
|
+
{"version":3,"file":"safeAreaUtils.js","names":[],"sources":["../../src/utils/safeAreaUtils.ts"],"sourcesContent":["/**\n * Safe area utilities for handling notched devices\n * \n * Provides CSS safe area inset helpers for iOS and Android devices\n * with notches, home indicators, and other screen intrusions.\n * \n * @module utils/safeAreaUtils\n * @category UI Utilities\n * @korean 안전영역유틸리티\n */\n\nimport { SAFE_AREA_INSETS } from \"../types/constants/ui\";\n\n/**\n * Safe area edge types\n * \n * @category Safe Area\n * @korean 안전영역가장자리타입\n */\nexport type SafeAreaEdge = \"top\" | \"bottom\" | \"left\" | \"right\";\n\n/**\n * Get CSS safe area inset with fallback\n * Returns CSS `env()` with fallback to constant values\n * \n * @param edge - Which edge to get inset for\n * @param fallback - Optional custom fallback value in pixels\n * @returns CSS string with env() and fallback\n * \n * @example\n * ```typescript\n * getSafeAreaInset('top'); // \"env(safe-area-inset-top, 44px)\"\n * getSafeAreaInset('bottom', 20); // \"env(safe-area-inset-bottom, 20px)\"\n * ```\n * \n * @korean 안전영역삽입얻기\n */\nexport function getSafeAreaInset(\n edge: SafeAreaEdge,\n fallback?: number\n): string {\n const defaultFallback =\n edge === \"top\"\n ? SAFE_AREA_INSETS.TOP\n : edge === \"bottom\"\n ? SAFE_AREA_INSETS.BOTTOM\n : edge === \"left\"\n ? SAFE_AREA_INSETS.LEFT\n : SAFE_AREA_INSETS.RIGHT;\n\n const fallbackValue = fallback ?? defaultFallback;\n return `env(safe-area-inset-${edge}, ${fallbackValue}px)`;\n}\n\n/**\n * Get safe area padding for a container\n * Returns CSS padding object with safe area support\n * \n * @param edges - Which edges to apply safe area padding\n * @param additionalPadding - Additional padding to add (in pixels)\n * @returns CSS padding object\n * \n * @example\n * ```typescript\n * getSafeAreaPadding(['top', 'bottom'], 16);\n * // {\n * // paddingTop: \"max(16px, env(safe-area-inset-top))\",\n * // paddingBottom: \"max(16px, env(safe-area-inset-bottom))\"\n * // }\n * ```\n * \n * @korean 안전영역패딩얻기\n */\nexport function getSafeAreaPadding(\n edges: readonly SafeAreaEdge[],\n additionalPadding = 0\n): Partial<Record<`padding${Capitalize<SafeAreaEdge>}`, string>> {\n const result: Partial<Record<`padding${Capitalize<SafeAreaEdge>}`, string>> =\n {};\n\n for (const edge of edges) {\n const capitalizedEdge =\n (edge.charAt(0).toUpperCase() + edge.slice(1)) as Capitalize<SafeAreaEdge>;\n const key = `padding${capitalizedEdge}` as const;\n\n result[key] = `max(${additionalPadding}px, ${getSafeAreaInset(edge)})`;\n }\n\n return result;\n}\n\n/**\n * Get safe area aware positioning styles\n * Useful for fixed/absolute positioned elements\n * \n * @param edge - Which edge to position from\n * @param baseOffset - Base offset in pixels\n * @returns CSS positioning string\n * \n * @example\n * ```typescript\n * getSafeAreaPosition('bottom', 20);\n * // \"calc(20px + env(safe-area-inset-bottom, 34px))\"\n * ```\n * \n * @korean 안전영역위치얻기\n */\nexport function getSafeAreaPosition(\n edge: SafeAreaEdge,\n baseOffset = 0\n): string {\n return `calc(${baseOffset}px + ${getSafeAreaInset(edge)})`;\n}\n\n/**\n * Get safe area aware height calculation\n * Useful for full-height containers\n * \n * @param excludeEdges - Which edges to exclude from height\n * @returns CSS calc() string for height\n * \n * @example\n * ```typescript\n * getSafeAreaHeight(['top', 'bottom']);\n * // \"calc(100vh - env(safe-area-inset-top, 44px) - env(safe-area-inset-bottom, 34px))\"\n * ```\n * \n * @korean 안전영역높이얻기\n */\nexport function getSafeAreaHeight(\n excludeEdges: readonly SafeAreaEdge[]\n): string {\n const insets = excludeEdges.map((edge) => getSafeAreaInset(edge)).join(\" - \");\n return `calc(100vh - ${insets})`;\n}\n\n/**\n * Check if device likely has safe area insets\n * Uses user agent detection (not perfect but useful)\n * \n * @returns Whether device likely has safe area insets\n * \n * @example\n * ```typescript\n * if (hasSafeAreaInsets()) {\n * // Apply safe area styles\n * }\n * ```\n * \n * @korean 안전영역삽입여부\n */\nexport function hasSafeAreaInsets(): boolean {\n // Check if CSS env() is supported\n if (typeof CSS !== \"undefined\" && CSS.supports) {\n return CSS.supports(\"padding-top\", \"env(safe-area-inset-top)\");\n }\n\n // Fallback: Check for iPhone X+ user agents\n const ua = navigator.userAgent;\n return (\n /iPhone/.test(ua) &&\n ((screen.width === 375 && screen.height === 812) || // iPhone X, XS, 11 Pro\n (screen.width === 414 && screen.height === 896) || // iPhone XR, XS Max, 11, 11 Pro Max\n (screen.width === 390 && screen.height === 844) || // iPhone 12, 12 Pro, 13, 13 Pro, 14\n (screen.width === 393 && screen.height === 852) || // iPhone 14 Pro\n (screen.width === 428 && screen.height === 926)) // iPhone 12/13/14 Pro Max\n );\n}\n\n/**\n * Get comprehensive safe area styles for a container\n * Combines padding and positioning for complete safe area support\n * \n * @param options - Configuration options\n * @returns React CSSProperties object\n * \n * @example\n * ```typescript\n * const styles = getSafeAreaStyles({\n * applyPadding: ['top', 'bottom'],\n * additionalPadding: 16,\n * position: 'fixed'\n * });\n * ```\n * \n * @korean 안전영역스타일얻기\n */\nexport function getSafeAreaStyles(options: {\n readonly applyPadding?: readonly SafeAreaEdge[];\n readonly additionalPadding?: number;\n readonly position?: \"fixed\" | \"absolute\" | \"sticky\";\n}): React.CSSProperties {\n const { applyPadding = [], additionalPadding = 0, position } = options;\n\n const paddingStyles = getSafeAreaPadding(applyPadding, additionalPadding);\n\n return {\n ...paddingStyles,\n ...(position && { position }),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,iBACd,MACA,UACQ;CACR,MAAM,kBACJ,SAAS,QACL,iBAAiB,MACjB,SAAS,WACT,iBAAiB,SACjB,SAAS,SACT,iBAAiB,OACjB,iBAAiB;CAGvB,OAAO,uBAAuB,KAAK,IADb,YAAY,gBACmB;;;;;;;;;;;;;;;;;;;;;AAsBvD,SAAgB,mBACd,OACA,oBAAoB,GAC2C;CAC/D,MAAM,SACJ,EAAE;CAEJ,KAAK,MAAM,QAAQ,OAAO;EAGxB,MAAM,MAAM,UADT,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE;EAG/C,OAAO,OAAO,OAAO,kBAAkB,MAAM,iBAAiB,KAAK,CAAC;;CAGtE,OAAO"}
|
|
@@ -27,7 +27,6 @@ import { type ArenaConfiguration } from "./arenaWorldDimensions";
|
|
|
27
27
|
*
|
|
28
28
|
* **Korean**: 카메라 설정
|
|
29
29
|
*
|
|
30
|
-
* @public
|
|
31
30
|
*/
|
|
32
31
|
export interface CameraConfiguration {
|
|
33
32
|
/** Field of view in degrees */
|
|
@@ -47,7 +46,6 @@ export interface CameraConfiguration {
|
|
|
47
46
|
* Includes all parameters needed to ensure consistent physics
|
|
48
47
|
* behavior across different screens and device types.
|
|
49
48
|
*
|
|
50
|
-
* @public
|
|
51
49
|
*/
|
|
52
50
|
export interface PhysicsConfiguration {
|
|
53
51
|
/** Arena configuration with pixel and meter dimensions */
|
|
@@ -84,7 +82,6 @@ export interface PhysicsConfiguration {
|
|
|
84
82
|
* // { fov: 60, position: [0, 8, 12], near: 0.1, far: 1000 }
|
|
85
83
|
* ```
|
|
86
84
|
*
|
|
87
|
-
* @public
|
|
88
85
|
*/
|
|
89
86
|
export declare function createCameraConfig(isMobile: boolean): CameraConfiguration;
|
|
90
87
|
/**
|
|
@@ -119,7 +116,6 @@ export declare function createCameraConfig(isMobile: boolean): CameraConfigurati
|
|
|
119
116
|
* trainingPhysics.pixelsPerMeter === combatPhysics.pixelsPerMeter; // true
|
|
120
117
|
* ```
|
|
121
118
|
*
|
|
122
|
-
* @public
|
|
123
119
|
*/
|
|
124
120
|
export declare function createPhysicsConfig(screenWidth: number, screenHeight: number, topOffset: number, bottomOffset: number, isMobile: boolean): PhysicsConfiguration;
|
|
125
121
|
//# sourceMappingURL=sharedPhysicsConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedPhysicsConfig.d.ts","sourceRoot":"","sources":["../../src/utils/sharedPhysicsConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAGL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"sharedPhysicsConfig.d.ts","sourceRoot":"","sources":["../../src/utils/sharedPhysicsConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAGL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,wCAAwC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,8BAA8B;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,oBAAoB,CAAC;IACnD,oDAAoD;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,mBAAmB,CAgBzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,GAChB,oBAAoB,CAoBtB"}
|
|
@@ -44,7 +44,6 @@ import { calculateArenaConfiguration } from "./arenaWorldDimensions.js";
|
|
|
44
44
|
* // { fov: 60, position: [0, 8, 12], near: 0.1, far: 1000 }
|
|
45
45
|
* ```
|
|
46
46
|
*
|
|
47
|
-
* @public
|
|
48
47
|
*/
|
|
49
48
|
function createCameraConfig(isMobile) {
|
|
50
49
|
if (isMobile) return {
|
|
@@ -100,7 +99,6 @@ function createCameraConfig(isMobile) {
|
|
|
100
99
|
* trainingPhysics.pixelsPerMeter === combatPhysics.pixelsPerMeter; // true
|
|
101
100
|
* ```
|
|
102
101
|
*
|
|
103
|
-
* @public
|
|
104
102
|
*/
|
|
105
103
|
function createPhysicsConfig(screenWidth, screenHeight, topOffset, bottomOffset, isMobile) {
|
|
106
104
|
const arenaConfig = calculateArenaConfiguration(screenWidth, screenHeight, topOffset, bottomOffset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedPhysicsConfig.js","names":[],"sources":["../../src/utils/sharedPhysicsConfig.ts"],"sourcesContent":["/**\n * Shared physics configuration for Black Trigram screens.\n *\n * **Korean**: 공유 물리 설정\n *\n * This module provides shared physics configuration utilities to ensure\n * consistent physics behavior, coordinate systems, and camera setup across\n * TrainingScreen3D and CombatScreen3D.\n *\n * ## Synchronization Guarantees\n *\n * All screens using these utilities will have:\n * - Identical camera FOV and positioning for same device types\n * - Consistent arena bounds calculations\n * - Same physics constants (acceleration, stamina regen, etc.)\n * - Unified coordinate system (meter-based)\n * - Matching movement speed and range calculations\n *\n * @module utils/sharedPhysicsConfig\n * @category Physics\n * @korean 공유물리설정\n */\n\nimport {\n BASE_STAMINA_REGEN_RATE,\n BASE_MOVEMENT_ACCELERATION,\n COMBAT_RANGES_METERS,\n} from \"@/types/physicsConstants\";\nimport {\n calculateArenaConfiguration,\n type ArenaConfiguration,\n} from \"./arenaWorldDimensions\";\n\n/**\n * Camera configuration for 3D rendering.\n *\n * **Korean**: 카메라 설정\n *\n
|
|
1
|
+
{"version":3,"file":"sharedPhysicsConfig.js","names":[],"sources":["../../src/utils/sharedPhysicsConfig.ts"],"sourcesContent":["/**\n * Shared physics configuration for Black Trigram screens.\n *\n * **Korean**: 공유 물리 설정\n *\n * This module provides shared physics configuration utilities to ensure\n * consistent physics behavior, coordinate systems, and camera setup across\n * TrainingScreen3D and CombatScreen3D.\n *\n * ## Synchronization Guarantees\n *\n * All screens using these utilities will have:\n * - Identical camera FOV and positioning for same device types\n * - Consistent arena bounds calculations\n * - Same physics constants (acceleration, stamina regen, etc.)\n * - Unified coordinate system (meter-based)\n * - Matching movement speed and range calculations\n *\n * @module utils/sharedPhysicsConfig\n * @category Physics\n * @korean 공유물리설정\n */\n\nimport {\n BASE_STAMINA_REGEN_RATE,\n BASE_MOVEMENT_ACCELERATION,\n COMBAT_RANGES_METERS,\n} from \"@/types/physicsConstants\";\nimport {\n calculateArenaConfiguration,\n type ArenaConfiguration,\n} from \"./arenaWorldDimensions\";\n\n/**\n * Camera configuration for 3D rendering.\n *\n * **Korean**: 카메라 설정\n *\n */\nexport interface CameraConfiguration {\n /** Field of view in degrees */\n readonly fov: number;\n /** Camera position [x, y, z] in meters */\n readonly position: readonly [number, number, number];\n /** Near clipping plane */\n readonly near: number;\n /** Far clipping plane */\n readonly far: number;\n}\n\n/**\n * Complete physics configuration for a game screen.\n *\n * **Korean**: 물리 설정\n *\n * Includes all parameters needed to ensure consistent physics\n * behavior across different screens and device types.\n *\n */\nexport interface PhysicsConfiguration {\n /** Arena configuration with pixel and meter dimensions */\n readonly arenaConfig: ArenaConfiguration;\n /** Camera configuration for consistent perspective */\n readonly cameraConfig: CameraConfiguration;\n /** Base stamina regeneration rate (stamina/second) */\n readonly staminaRegenRate: number;\n /** Base movement acceleration (m/s²) */\n readonly movementAcceleration: number;\n /** Combat ranges in meters */\n readonly combatRanges: typeof COMBAT_RANGES_METERS;\n /** Pixels per meter ratio for this configuration */\n readonly pixelsPerMeter: number;\n}\n\n/**\n * Create camera configuration based on device type.\n *\n * Mobile devices get a tighter FOV and closer camera position\n * for better framing of the smaller arena. Desktop gets a wider\n * FOV and further camera for full arena view.\n *\n * **Korean**: 카메라 설정 생성\n *\n * @param isMobile - Whether the device is mobile\n * @returns Camera configuration for device type\n *\n * @example\n * ```typescript\n * const mobile = createCameraConfig(true);\n * // { fov: 55, position: [0, 6, 10], near: 0.1, far: 1000 }\n *\n * const desktop = createCameraConfig(false);\n * // { fov: 60, position: [0, 8, 12], near: 0.1, far: 1000 }\n * ```\n *\n */\nexport function createCameraConfig(isMobile: boolean): CameraConfiguration {\n if (isMobile) {\n return {\n fov: 55, // Tighter FOV for smaller mobile arena\n position: [0, 6, 10], // Closer camera\n near: 0.1,\n far: 1000,\n };\n }\n\n return {\n fov: 60, // Standard FOV for desktop\n position: [0, 8, 12], // Further back for full view\n near: 0.1,\n far: 1000,\n };\n}\n\n/**\n * Create complete physics configuration for a screen.\n *\n * This is the primary function for setting up physics in both\n * TrainingScreen3D and CombatScreen3D. It ensures consistent\n * physics behavior by using the same calculations and constants.\n *\n * **Korean**: 물리 설정 생성\n *\n * @param screenWidth - Screen width in pixels\n * @param screenHeight - Screen height in pixels\n * @param topOffset - Pixels reserved at top (HUD, headers)\n * @param bottomOffset - Pixels reserved at bottom (controls, footer)\n * @param isMobile - Whether the device is mobile\n * @returns Complete physics configuration\n *\n * @example\n * ```typescript\n * // Training screen\n * const trainingPhysics = createPhysicsConfig(\n * 1920, 1080, 60, 100, false\n * );\n *\n * // Combat screen\n * const combatPhysics = createPhysicsConfig(\n * 1920, 1080, 60, 100, false\n * );\n *\n * // Both have identical physics configuration\n * trainingPhysics.pixelsPerMeter === combatPhysics.pixelsPerMeter; // true\n * ```\n *\n */\nexport function createPhysicsConfig(\n screenWidth: number,\n screenHeight: number,\n topOffset: number,\n bottomOffset: number,\n isMobile: boolean,\n): PhysicsConfiguration {\n // Calculate arena dimensions (same for both screens)\n const arenaConfig = calculateArenaConfiguration(\n screenWidth,\n screenHeight,\n topOffset,\n bottomOffset,\n );\n\n // Create camera config based on device type\n const cameraConfig = createCameraConfig(isMobile);\n\n return {\n arenaConfig,\n cameraConfig,\n staminaRegenRate: BASE_STAMINA_REGEN_RATE,\n movementAcceleration: BASE_MOVEMENT_ACCELERATION,\n combatRanges: COMBAT_RANGES_METERS,\n pixelsPerMeter: arenaConfig.pixelsPerMeter,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGA,SAAgB,mBAAmB,UAAwC;CACzE,IAAI,UACF,OAAO;EACL,KAAK;EACL,UAAU;GAAC;GAAG;GAAG;GAAG;EACpB,MAAM;EACN,KAAK;EACN;CAGH,OAAO;EACL,KAAK;EACL,UAAU;GAAC;GAAG;GAAG;GAAG;EACpB,MAAM;EACN,KAAK;EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCH,SAAgB,oBACd,aACA,cACA,WACA,cACA,UACsB;CAEtB,MAAM,cAAc,4BAClB,aACA,cACA,WACA,aACD;CAKD,OAAO;EACL;EACA,cAJmB,mBAAmB,SAItC;EACA,kBAAA;EACA,sBAAA;EACA,cAAc;EACd,gBAAgB,YAAY;EAC7B"}
|