pub struct LayoutModel<'a> {
pub ir: &'a TimelineIr,
pub opts: RenderOptions,
pub year_min: i64,
pub year_max: i64,
pub total_width: f64,
pub total_height: f64,
pub lanes_ordered: Vec<&'a Lane>,
pub lane_y: HashMap<String, f64>,
pub tick_step: i64,
pub items: Vec<LaidItem<'a>>,
pub lane_bands: Vec<LaneBandModel>,
pub lane_colors: HashMap<String, String>,
}Expand description
Pre-computed layout: every coordinate needed by the renderer.
Fields§
§ir: &'a TimelineIr§opts: RenderOptions§year_min: i64§year_max: i64§total_width: f64§total_height: f64§lanes_ordered: Vec<&'a Lane>§lane_y: HashMap<String, f64>§tick_step: i64§items: Vec<LaidItem<'a>>§lane_bands: Vec<LaneBandModel>Pre-computed lane background bands (index-ordered, same order as lanes_ordered).
lane_colors: HashMap<String, String>Mapping from lane ID to resolved CSS color (palette-assigned).
Implementations§
Source§impl<'a> LayoutModel<'a>
impl<'a> LayoutModel<'a>
pub fn compute(ir: &'a TimelineIr, opts: RenderOptions) -> Self
Sourcepub fn is_vertical(&self) -> bool
pub fn is_vertical(&self) -> bool
Returns true when the layout uses a vertical (top-to-bottom time axis) orientation.
Sourcepub fn year_to_primary(&self, year: i64) -> f64
pub fn year_to_primary(&self, year: i64) -> f64
Convert a year to the primary axis coordinate.
- Horizontal: returns the X coordinate.
- Vertical: returns the Y coordinate.
pub fn year_to_x(&self, year: i64) -> f64
Sourcepub fn month_ticks(&self) -> Vec<(i64, u8)>
pub fn month_ticks(&self) -> Vec<(i64, u8)>
Month minor-tick positions for unit=month timelines.
Returns (year, month) pairs where month ∈ 2..=12 (month=1 overlaps the year tick).
Empty when unit != "month" or when the scale is too small to show sub-year ticks.
Sourcepub fn frac_year_to_x(&self, year: i64, month: u8) -> f64
pub fn frac_year_to_x(&self, year: i64, month: u8) -> f64
X coordinate for a (year, month) fractional position.
Sourcepub fn day_frac_to_x(&self, year: i64, month: u8, day: u8) -> f64
pub fn day_frac_to_x(&self, year: i64, month: u8, day: u8) -> f64
X coordinate for a (year, month, day) fractional position.
Sourcepub fn day_ticks(&self) -> Vec<(i64, u8, u8)>
pub fn day_ticks(&self) -> Vec<(i64, u8, u8)>
Day-level minor-tick positions for unit=day timelines.
Returns (year, month, day) triples covering the visible range.
過密回避のため、1日あたりの pixel-per-day が小さい場合は step を 7/14/30 日に切り替える。
unit != "day" または 1 日あたりのピクセルが小さすぎる場合は空配列を返す。
Sourcepub fn ticks(&self) -> Vec<i64>
pub fn ticks(&self) -> Vec<i64>
Tick positions (year values) within [year_min, year_max], inclusive of year_min if aligned.
Sourcepub fn grid_positions(&self) -> Vec<f64>
pub fn grid_positions(&self) -> Vec<f64>
Grid line positions for the current GridStyle.
Returns fractional year values (f64) covering [year_min, year_max].
GridStyle::None→ empty (no grid lines drawn)GridStyle::Decade→ one position per 10 yearsGridStyle::Year→ one position per yearGridStyle::Month→ one position per 1/12 year (12 per year)
Positions that coincide with existing axis ticks are included; the SVG renderer draws grid lines behind tick marks so duplicates are invisible.
Auto Trait Implementations§
impl<'a> Freeze for LayoutModel<'a>
impl<'a> RefUnwindSafe for LayoutModel<'a>
impl<'a> Send for LayoutModel<'a>
impl<'a> Sync for LayoutModel<'a>
impl<'a> Unpin for LayoutModel<'a>
impl<'a> UnsafeUnpin for LayoutModel<'a>
impl<'a> UnwindSafe for LayoutModel<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more