pub fn apply_origin_adjust(
draw_y: u32,
height: i32,
eff_h: i32,
origin_y: f32,
) -> u32Expand description
transform-origin による描画位置の補正。
計算量: O(1)。
【2026-08-04 発見・修正】ここは以前 .max(0) で 0 にクランプしていた。
draw_y は画面より上へスクロールアウトした要素で u32 へ折り返しており
(draw_y as i32 が負)、そこへクランプを掛けると 0 に固定される。
高さはそのままなので y=0..height を塗り、可視領域を丸ごと覆う。
実測: 要素(y_offset=529 h=740、スクロール後 el_y=-700)が
boxfill(100, 0, 1024, 740) を実行して研究カードを消していた。
補正が要るのは transform: scale() で寸法が変わったときだけ。
補正量が 0 なら元の値をそのまま返す。