# Raxol Core v2.4.0 - Table of Contents

Core behaviours, utilities, events, config, accessibility, and plugin
infrastructure for Raxol. Zero external runtime dependencies. Provides
BaseManager, event system, plugin lifecycle, keyboard/focus management,
and accessibility primitives.

## Pages

- [Raxol Core](readme.md)

## Modules

- [Raxol.Core.Accessibility](Raxol.Core.Accessibility.md): Refactored Accessibility module that delegates to the unified GenAccessibilityServer.
- [Raxol.Core.Accessibility.AccessibilityServer](Raxol.Core.Accessibility.AccessibilityServer.md): Unified GenServer implementation for accessibility features in Raxol.
- [Raxol.Core.Accessibility.AnnouncementQueue](Raxol.Core.Accessibility.AnnouncementQueue.md): Pure-functional helpers for announcement queue management, priority sorting,
history tracking, and delivery.  Used by AccessibilityServer.

- [Raxol.Core.Accessibility.Announcements](Raxol.Core.Accessibility.Announcements.md): Handles screen reader announcements and announcement queue management.

- [Raxol.Core.Accessibility.Behaviour](Raxol.Core.Accessibility.Behaviour.md): Behaviour for accessibility implementations.

- [Raxol.Core.Accessibility.EventHandler](Raxol.Core.Accessibility.EventHandler.md): Handles accessibility-related events and notifications.

- [Raxol.Core.Accessibility.FocusManager](Raxol.Core.Accessibility.FocusManager.md): Pure-functional helpers for focus tracking, announcements, and
event handler registration within the AccessibilityServer state.

- [Raxol.Core.Accessibility.Metadata](Raxol.Core.Accessibility.Metadata.md): Handles accessibility metadata for UI elements and component styles.

- [Raxol.Core.Accessibility.MetadataRegistry](Raxol.Core.Accessibility.MetadataRegistry.md): Pure-functional helpers for accessibility metadata and component style
registration within the AccessibilityServer state.

- [Raxol.Core.Accessibility.PreferenceManager](Raxol.Core.Accessibility.PreferenceManager.md): Preference sync helpers for AccessibilityServer.
Handles merging, setting, and syncing preferences to UserPreferences.

- [Raxol.Core.Accessibility.Preferences](Raxol.Core.Accessibility.Preferences.md): Manages accessibility preferences and settings.

- [Raxol.Core.Behaviours.BaseManager](Raxol.Core.Behaviours.BaseManager.md): Base behavior for manager GenServers to reduce code duplication.
Provides common patterns for state management, lifecycle, and error handling.

- [Raxol.Core.Behaviours.BaseRegistry](Raxol.Core.Behaviours.BaseRegistry.md): Base behavior for registry GenServers to reduce code duplication.
Provides common patterns for registering, unregistering, and looking up resources.

- [Raxol.Core.Behaviours.BaseServer](Raxol.Core.Behaviours.BaseServer.md): Base behavior for general-purpose GenServers to reduce code duplication.
Provides common patterns for server lifecycle, error handling, and state management.

- [Raxol.Core.Behaviours.Lifecycle](Raxol.Core.Behaviours.Lifecycle.md): Common behavior for lifecycle management across different components.
- [Raxol.Core.Behaviours.Metrics](Raxol.Core.Behaviours.Metrics.md): Common behavior for metrics collection and reporting.
- [Raxol.Core.Behaviours.StateManager](Raxol.Core.Behaviours.StateManager.md): Behaviour for state management systems.
- [Raxol.Core.Config](Raxol.Core.Config.md): Pure functional configuration management for Raxol.
- [Raxol.Core.Config.ConfigServer](Raxol.Core.Config.ConfigServer.md): Backward-compatible configuration server.
- [Raxol.Core.Config.Store](Raxol.Core.Config.Store.md): ETS-backed configuration store for fast concurrent reads.
- [Raxol.Core.Defaults](Raxol.Core.Defaults.md): Canonical default values for the Raxol framework.
- [Raxol.Core.ErrorHandler](Raxol.Core.ErrorHandler.md): Deprecated. Use `Raxol.Core.ErrorHandling` instead.
- [Raxol.Core.ErrorHandling](Raxol.Core.ErrorHandling.md): Functional error handling patterns for Raxol.
- [Raxol.Core.ErrorRecovery](Raxol.Core.ErrorRecovery.md): Error recovery strategies for the Raxol application.
- [Raxol.Core.Events.Event](Raxol.Core.Events.Event.md): Defines the structure for events in the Raxol system, providing a standardized format
for key presses, mouse actions, and other UI events that components need to process.
- [Raxol.Core.Events.EventManager](Raxol.Core.Events.EventManager.md): Event management system that wraps :telemetry for backward compatibility.
- [Raxol.Core.Events.EventManager.EventManagerServer](Raxol.Core.Events.EventManager.EventManagerServer.md): GenServer implementation for event management in Raxol applications.
- [Raxol.Core.Events.Manager](Raxol.Core.Events.Manager.md): Alias module for Raxol.Core.Events.EventManager.
- [Raxol.Core.Events.Subscription](Raxol.Core.Events.Subscription.md): Provides helpers for managing event subscriptions.
- [Raxol.Core.Events.TelemetryAdapter](Raxol.Core.Events.TelemetryAdapter.md): Adapter to migrate from EventManager to :telemetry.
- [Raxol.Core.Events.TermboxConverter](Raxol.Core.Events.TermboxConverter.md): Converts rrex_termbox v2.0.1 NIF events to Raxol.Core.Events.Event structs.
- [Raxol.Core.Focus](Raxol.Core.Focus.md): Convenience module for focus management in TEA applications.
- [Raxol.Core.FocusManager](Raxol.Core.FocusManager.md): Refactored FocusManager that delegates to GenServer implementation.
- [Raxol.Core.FocusManager.Behaviour](Raxol.Core.FocusManager.Behaviour.md): Defines the behaviour for focus management services.

- [Raxol.Core.FocusManager.FocusServer](Raxol.Core.FocusManager.FocusServer.md): GenServer implementation for focus management.
- [Raxol.Core.GlobalRegistry](Raxol.Core.GlobalRegistry.md): Unified registry interface consolidating different registry patterns across Raxol.
- [Raxol.Core.GlobalRegistry.RegistryBehaviour](Raxol.Core.GlobalRegistry.RegistryBehaviour.md): Behaviour for unified registry operations.

- [Raxol.Core.I18n](Raxol.Core.I18n.md): Refactored internationalization module using GenServer for state management.
- [Raxol.Core.I18n.I18nServer](Raxol.Core.I18n.I18nServer.md): ETS-backed internationalization server.
- [Raxol.Core.KeyboardNavigator](Raxol.Core.KeyboardNavigator.md): Refactored KeyboardNavigator that delegates to GenServer implementation.
- [Raxol.Core.KeyboardNavigator.NavigatorServer](Raxol.Core.KeyboardNavigator.NavigatorServer.md): BaseManager implementation for keyboard navigation in Raxol terminal UI applications.
- [Raxol.Core.KeyboardShortcuts](Raxol.Core.KeyboardShortcuts.md): Refactored KeyboardShortcuts that delegates to GenServer implementation.
- [Raxol.Core.KeyboardShortcuts.ShortcutsServer](Raxol.Core.KeyboardShortcuts.ShortcutsServer.md): GenServer implementation for keyboard shortcuts management.
- [Raxol.Core.KeyboardShortcutsBehaviour](Raxol.Core.KeyboardShortcutsBehaviour.md): Behavior for KeyboardShortcuts implementation.
- [Raxol.Core.NavigationUtils](Raxol.Core.NavigationUtils.md): Shared utilities for navigation path management.
Used by both KeyboardNavigator and WindowManager to avoid code duplication.

- [Raxol.Core.Preferences](Raxol.Core.Preferences.md): Manages user preferences and settings for the Raxol terminal UI.

- [Raxol.Core.Preferences.Persistence](Raxol.Core.Preferences.Persistence.md): Handles persistence (loading/saving) of user preferences to a file.

- [Raxol.Core.Preferences.Store](Raxol.Core.Preferences.Store.md): Handles storage and retrieval of user preferences.

- [Raxol.Core.Runtime.Log](Raxol.Core.Runtime.Log.md): Centralized logging system for Raxol with structured context, performance tracking,
and consistent formatting across all modules.
- [Raxol.Core.Runtime.Plugins.CellProcessor](Raxol.Core.Runtime.Plugins.CellProcessor.md): This module is responsible for processing cells in the Raxol runtime.

- [Raxol.Core.Runtime.Plugins.CommandHelper](Raxol.Core.Runtime.Plugins.CommandHelper.md): Handles plugin command registration and dispatch for the Plugin Manager.

- [Raxol.Core.Runtime.Plugins.CommandRegistry](Raxol.Core.Runtime.Plugins.CommandRegistry.md): Manages command registration and execution for plugins.
- [Raxol.Core.Runtime.Plugins.DependencyResolver](Raxol.Core.Runtime.Plugins.DependencyResolver.md): Install-time and load-time dependency resolution for plugins.
- [Raxol.Core.Runtime.Plugins.Discovery](Raxol.Core.Runtime.Plugins.Discovery.md): Handles plugin discovery and initialization.
This module is responsible for:
- Discovering available plugins in configured directories
- Initializing the plugin system
- Managing plugin metadata and paths
- Handling plugin dependencies

- [Raxol.Core.Runtime.Plugins.EventFilter](Raxol.Core.Runtime.Plugins.EventFilter.md): Handles event filtering for plugins.
This module is responsible for:
- Filtering events through registered plugin filters
- Managing event modifications
- Handling event halting

- [Raxol.Core.Runtime.Plugins.FileWatcher](Raxol.Core.Runtime.Plugins.FileWatcher.md): Handles file watching and plugin reloading functionality.

- [Raxol.Core.Runtime.Plugins.FileWatcherBehaviour](Raxol.Core.Runtime.Plugins.FileWatcherBehaviour.md): Behavior for file watcher plugins.

- [Raxol.Core.Runtime.Plugins.Lifecycle](Raxol.Core.Runtime.Plugins.Lifecycle.md): Defines the behaviour for plugin lifecycle management.
- [Raxol.Core.Runtime.Plugins.LifecycleHelper](Raxol.Core.Runtime.Plugins.LifecycleHelper.md): Helper functions for plugin lifecycle management.

- [Raxol.Core.Runtime.Plugins.LifecycleHelper.Behaviour](Raxol.Core.Runtime.Plugins.LifecycleHelper.Behaviour.md): Behavior for plugin lifecycle management.

- [Raxol.Core.Runtime.Plugins.LifecycleManager](Raxol.Core.Runtime.Plugins.LifecycleManager.md): Handles plugin lifecycle operations including loading, unloading, enabling, and disabling plugins.

- [Raxol.Core.Runtime.Plugins.Loader](Raxol.Core.Runtime.Plugins.Loader.md): Manages plugin loading operations.

- [Raxol.Core.Runtime.Plugins.LoaderBehaviour](Raxol.Core.Runtime.Plugins.LoaderBehaviour.md): Behavior for plugin loading functionality.

- [Raxol.Core.Runtime.Plugins.Manifest](Raxol.Core.Runtime.Plugins.Manifest.md): Declarative plugin metadata struct.
- [Raxol.Core.Runtime.Plugins.MissionProfile](Raxol.Core.Runtime.Plugins.MissionProfile.md): Named set of plugins with configuration overrides.
- [Raxol.Core.Runtime.Plugins.Plugin](Raxol.Core.Runtime.Plugins.Plugin.md): Defines the behaviour for Raxol plugins.
- [Raxol.Core.Runtime.Plugins.PluginCommandHandler.Behaviour](Raxol.Core.Runtime.Plugins.PluginCommandHandler.Behaviour.md): Behavior for plugin command handling.

- [Raxol.Core.Runtime.Plugins.PluginCommandManager](Raxol.Core.Runtime.Plugins.PluginCommandManager.md): Manages plugin command registration and dispatch.
Coordinates between plugins and the command system.

- [Raxol.Core.Runtime.Plugins.PluginErrorHandler](Raxol.Core.Runtime.Plugins.PluginErrorHandler.md): Handles plugin error handling and logging.

- [Raxol.Core.Runtime.Plugins.PluginEventFilter.Behaviour](Raxol.Core.Runtime.Plugins.PluginEventFilter.Behaviour.md): Behavior for plugin event filtering.

- [Raxol.Core.Runtime.Plugins.PluginEventProcessor](Raxol.Core.Runtime.Plugins.PluginEventProcessor.md): Handles event processing and filtering through plugins.
- [Raxol.Core.Runtime.Plugins.PluginInitializer](Raxol.Core.Runtime.Plugins.PluginInitializer.md): Handles initialization of plugins, including state setup and command registration.

- [Raxol.Core.Runtime.Plugins.PluginLifecycle](Raxol.Core.Runtime.Plugins.PluginLifecycle.md): GenServer for plugin lifecycle coordination.
- [Raxol.Core.Runtime.Plugins.PluginLifecycleCallbacks](Raxol.Core.Runtime.Plugins.PluginLifecycleCallbacks.md): Handles plugin lifecycle callback implementations.

- [Raxol.Core.Runtime.Plugins.PluginManager](Raxol.Core.Runtime.Plugins.PluginManager.md): Facade for plugin management operations.
- [Raxol.Core.Runtime.Plugins.PluginMetadataProvider](Raxol.Core.Runtime.Plugins.PluginMetadataProvider.md): Defines the behaviour for plugins that provide metadata like ID, version, and dependencies.
- [Raxol.Core.Runtime.Plugins.PluginRegistry](Raxol.Core.Runtime.Plugins.PluginRegistry.md): Pure functional plugin registry backed by ETS for fast concurrent lookups.
- [Raxol.Core.Runtime.Plugins.PluginReloader](Raxol.Core.Runtime.Plugins.PluginReloader.md): Handles plugin reloading operations including reloading by ID and from disk.

- [Raxol.Core.Runtime.Plugins.PluginReloader.Behaviour](Raxol.Core.Runtime.Plugins.PluginReloader.Behaviour.md): Behaviour for plugin reloading operations.

- [Raxol.Core.Runtime.Plugins.PluginSupervisor](Raxol.Core.Runtime.Plugins.PluginSupervisor.md): Supervisor for plugin tasks and processes.
- [Raxol.Core.Runtime.Plugins.PluginUnloader](Raxol.Core.Runtime.Plugins.PluginUnloader.md): Handles unloading of plugins, including command and state cleanup.

- [Raxol.Core.Runtime.Plugins.PluginValidator](Raxol.Core.Runtime.Plugins.PluginValidator.md): Comprehensive validation system for plugins before loading.
- [Raxol.Core.Runtime.Plugins.PluginsState](Raxol.Core.Runtime.Plugins.PluginsState.md): Defines the state struct for the plugin manager.

- [Raxol.Core.Runtime.Plugins.ResourceBudget](Raxol.Core.Runtime.Plugins.ResourceBudget.md): Runtime resource monitoring per plugin.
- [Raxol.Core.Runtime.Plugins.SafeLifecycleOperations](Raxol.Core.Runtime.Plugins.SafeLifecycleOperations.md): Enhanced version of LifecycleOperations with comprehensive error handling.
- [Raxol.Core.Runtime.Plugins.Security.BeamAnalyzer](Raxol.Core.Runtime.Plugins.Security.BeamAnalyzer.md): BEAM bytecode analyzer for detecting security-sensitive operations.
- [Raxol.Core.Runtime.Plugins.Security.CapabilityDetector](Raxol.Core.Runtime.Plugins.Security.CapabilityDetector.md): High-level capability detection for plugins.
- [Raxol.Core.Runtime.Plugins.StateManager](Raxol.Core.Runtime.Plugins.StateManager.md): Namespaced alias for StateManager.
- [Raxol.Core.Runtime.Plugins.TimerManager](Raxol.Core.Runtime.Plugins.TimerManager.md): Handles timer management for plugin operations including periodic ticks and file event timers.
- [Raxol.Core.Runtime.ProcessStore](Raxol.Core.Runtime.ProcessStore.md): Replacement for Process dictionary usage.
Provides a functional alternative using Agent for state storage.

- [Raxol.Core.Telemetry.Context](Raxol.Core.Telemetry.Context.md): Trace context propagation for telemetry events.
- [Raxol.Core.Telemetry.TraceContext](Raxol.Core.Telemetry.TraceContext.md): Trace context management for request correlation across telemetry events.
- [Raxol.Core.UserPreferences](Raxol.Core.UserPreferences.md): Manages user preferences for the terminal emulator.
- [Raxol.Core.UserPreferences.State](Raxol.Core.UserPreferences.State.md): Internal state for the UserPreferences GenServer.
- [Raxol.Core.Utils.Debounce](Raxol.Core.Utils.Debounce.md): Purely functional debounce utilities for delayed operations.
- [Raxol.Core.Utils.GenServerHelpers](Raxol.Core.Utils.GenServerHelpers.md): Common GenServer patterns and utilities to reduce code duplication.
Provides standardized handlers for common operations like state retrieval,
metrics collection, and configuration management.

- [Raxol.Core.Utils.List](Raxol.Core.Utils.List.md): Shared list and collection utilities.

- [Raxol.Core.Utils.Math](Raxol.Core.Utils.Math.md): Shared numeric utilities.

- [Raxol.Core.Utils.TimerManager](Raxol.Core.Utils.TimerManager.md): Centralized timer management utilities for consistent timer handling across the codebase.
- [Raxol.Core.Utils.TimerUtils](Raxol.Core.Utils.TimerUtils.md): Consolidated timer utilities for standardized timer management across Raxol.
- [Raxol.Core.Utils.Validation](Raxol.Core.Utils.Validation.md): Common validation utilities to reduce code duplication across the codebase.
Provides standardized validation functions for dimensions, configs, and common patterns.

- [RaxolCore](RaxolCore.md): Core behaviours, utilities, events, config, accessibility, and plugin
infrastructure for Raxol.
- [StateManager](StateManager.md): Plugin state management utilities with full functionality.

