Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

src/hints.rs

Public functions

#![allow(unused)]
fn main() {
pub fn get_hints(
    children: &[Child],
    complementary_keys_alphabet: &str,
    first_key_zones: &[Vec<String>],
    center_zone_padding: &config::ZonePadding,
    window_size: Option<(f64, f64)>,
) -> HashMap<String, usize>
}

Returns a map of hint label string → child index.

Private functions

#![allow(unused)]
fn main() {
fn get_zone(
    rx: f64,
    ry: f64,
    width: f64,
    height: f64,
    rows: usize,
    col_counts: &[usize],
) -> (usize, usize)
}

Normalizes (rx, ry) by (width, height) and maps to ragged grid (row, col).

#![allow(unused)]
fn main() {
fn neighbors(
    r: usize,
    c: usize,
    rows: usize,
    col_counts: &[usize],
) -> Vec<(usize, usize)>
}

Returns all 8-directional adjacent zones that exist (respecting ragged rows), sorted by Euclidean distance from (r, c).

#![allow(unused)]
fn main() {
fn generate_product(
    chars: &[char],
    repeat: usize,
    out: &mut Vec<String>,
)
}

Recursive cartesian product. Generates all possible Strings of length repeat from chars. Used as fallback when no window_size is available.