package pathfinder

// Default pathfinding configuration values
const (
	// Default flag costs (matching C++ implementation)
	DefaultFlagCost0 = 1.0  // Normal
	DefaultFlagCost1 = 3.0  // Water
	DefaultFlagCost2 = 5.0  // Lava
	DefaultFlagCost3 = 1.0  // Zone line
	DefaultFlagCost4 = 2.0  // PvP
	DefaultFlagCost5 = 2.0  // Slime
	DefaultFlagCost6 = 4.0  // Ice
	DefaultFlagCost7 = 1.0  // VWater
	DefaultFlagCost8 = 0.1  // General area
	DefaultFlagCost9 = 0.1  // Portal
	
	// Default pathfinding parameters
	DefaultStepSize = 10.0
	DefaultOffset   = 3.25
	
	// Pathfinding limits
	MaxPathNodes       = 1000   // Maximum nodes in a single path
	MaxPathDistance    = 10000  // Maximum path distance
	PathfindingTimeout = 5000   // Pathfinding timeout in milliseconds
	
	// Random location parameters
	RandomLocationAttempts = 50    // Max attempts to find random location
	RandomLocationRadius   = 100.0 // Search radius for random locations
	
	// Performance constants
	PathCacheSize        = 1000 // Maximum cached paths
	PathCacheExpiryMs    = 30000 // Path cache expiry in milliseconds
	StatsUpdateInterval  = 1000  // Stats update interval in milliseconds
)

// Pathfinding backend types
const (
	BackendTypeNull     = "null"
	BackendTypeNavmesh  = "navmesh"
	BackendTypeWaypoint = "waypoint"
	BackendTypeDetour   = "detour"
)

// Path validation constants
const (
	MinPathDistance     = 0.1   // Minimum distance for valid path
	MaxPathNodeDistance = 50.0  // Maximum distance between path nodes
	PathSmoothTolerance = 2.0   // Tolerance for path smoothing
)