package config

import "time"

// Animation speeds
const (
	NormalAnimSpeed  = 0.03
	IdleAnimSpeed    = 0.1
	SprintAnimSpeed  = 0.01
	JumpingAnimSpeed = 0.005
)

// Physics
const (
	Gravity        = 1400.0
	JumpStrength   = -580.0
	MaxFallSpeed   = 900.0
	GroundFriction = 0.82
	AirFriction    = 0.86
)

// Gameplay
const (
	SprintSpeedMultiplier   = 2.0
	SprintRecoveryThreshold = 0.25
	ExhaustedThreshold      = 0.15
	StaminaLowThreshold     = 0.2
)

// FPS Monitoring
const (
	FPSWarnThreshold = 0.85
	FPSPoorThreshold = 0.6
	FPSSampleWindow  = time.Second
	TargetTPS        = 60
)

// Sprite
const (
	AnimFrameWrap     = 4096
	HeroSpriteScale   = 0.175
	FixedSpriteHeight = 329.0
	FixedSpriteWidth  = 315.0
)

// Notifications
const (
	SaveNotificationDuration = 2 * time.Second
)

// Portal
const (
	PortalThickness          = 20.0
	PortalTransitionCooldown = 0.5
)

// World
const (
	GroundHeight = 16.0
)
