#pragma once #include namespace plot::render { /// Every colour and metric the renderer draws with. Defaults are the dark theme /// the plan's render smoke test asserts against; a caller swaps a field and the /// next frame picks it up, so nothing here is baked into a shader. struct Style { Color background = Color::hex(0x101418); Color grid_major = Color::hex(0x2A3038); Color grid_minor = Color::hex(0x1C2126); Color axis_line = Color::hex(0x8A94A6); Color axis_text = Color::hex(0xC8D0DC); Color cursor = Color::hex(0xFFB020); Color measure_fill = Color::hex(0xFFB020, 0.15f); f32 axis_font_px = 12.0f; f32 grid_label_pad = 4.0f; f32 line_width_px = 1.5f; f32 dense_threshold_spp = 1.5f; ///< spec ยง4.3: samples per pixel at or above ///< which a trace is gathered from the LOD ///< pyramid instead of from its raw samples. ///< It selects the gather level, never a ///< primitive: both sides draw through the one ///< instanced anti-aliased quad path. f32 tick_min_px = 60.0f; ///< minimum spacing between major ticks. }; } // namespace plot::render