Skip to main content

omena_variational/
hover.rs

1use serde::Serialize;
2
3use crate::{
4    VARIATIONAL_FEATURE_GATE_V0, VARIATIONAL_LAYER_MARKER_V0, VARIATIONAL_SCHEMA_VERSION_V0,
5};
6
7#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
8#[serde(rename_all = "camelCase")]
9pub struct VariationalHoverBudgetV0 {
10    pub schema_version: &'static str,
11    pub product: &'static str,
12    pub layer_marker: &'static str,
13    pub feature_gate: &'static str,
14    pub total_budget_ms: u64,
15    pub fragment_budget_ms: u64,
16    pub enabled_by_default: bool,
17}
18
19pub fn variational_hover_budget_v0() -> VariationalHoverBudgetV0 {
20    VariationalHoverBudgetV0 {
21        schema_version: VARIATIONAL_SCHEMA_VERSION_V0,
22        product: "omena-variational.hover-budget",
23        layer_marker: VARIATIONAL_LAYER_MARKER_V0,
24        feature_gate: VARIATIONAL_FEATURE_GATE_V0,
25        total_budget_ms: 25,
26        fragment_budget_ms: 6,
27        enabled_by_default: false,
28    }
29}