d5f0814efc
Extract findSplitIndex; computeLineRenderModel now takes the split index as a primitive. Line derives its model from `split`, so the $derived short-circuits on value equality and skips recomputation on spring ticks that don't move the split (previously every tick rebuilt the model and re-rendered the line). Lay the three regions out as inline boxes on a shared baseline. fontA and fontB now align on the typographic baseline despite differing metrics, and an always-present overflow:hidden strut pins the line-box baseline so the line no longer jumps when a bulk run mounts/unmounts or the last window char morphs to a font of different ascent.
11 lines
264 B
TypeScript
11 lines
264 B
TypeScript
export {
|
|
type ComparisonLine,
|
|
type ComparisonResult,
|
|
DualFontLayout,
|
|
} from './DualFontLayout/DualFontLayout';
|
|
export {
|
|
computeLineRenderModel,
|
|
findSplitIndex,
|
|
type LineRenderModel,
|
|
} from './computeLineRenderModel/computeLineRenderModel';
|