Raxol.Adaptive.LayoutRecommender
(Raxol v2.3.0)
View Source
Rule-based layout recommendation engine.
Subscribes to BehaviorTracker aggregates and applies heuristic rules to suggest layout changes. Emits recommendations to subscribers when confidence exceeds threshold and cooldown has elapsed.
Cold start design: pure rule-based. No Nx dependency.
Swap in an Nx model later by replacing apply_rules/1.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type t() :: %Raxol.Adaptive.LayoutRecommender{ confidence_threshold: float(), last_recommendation: recommendation() | nil, last_recommendation_at: integer() | nil, model_params: map() | nil, pane_ids: [atom()], recommendation_cooldown_ms: pos_integer(), subscribers: MapSet.t(pid()) }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec get_last_recommendation(GenServer.server()) :: recommendation() | nil
@spec set_model_params(GenServer.server(), map()) :: :ok
@spec set_pane_ids(GenServer.server(), [atom()]) :: :ok
@spec start_link(keyword()) :: GenServer.on_start()
@spec subscribe(GenServer.server()) :: :ok