Plan-graph refinement round 7 (owner): no fly-in on open, nodes never truncate
Fly-in, take two: round 4 kept settled OFF until the first fit, but the flag flipped in the SAME commit as the transform change — the browser saw the new transform + newly-added transition in one style update and animated from the initial top-left zoom:1 state. The transition now enables one paint AFTER the fit (requestAnimationFrame), so the popup opens settled and only glides for user input afterwards. Nodes show their FULL content (owner): wrapTitle no longer caps lines or ellipsizes — oversized words are hard-chunked, nothing is dropped. Boxes grow with their wrapped lines (NODE_H + LINE_H per extra line); layout rows take their tallest node, edges leave from the source's real bottom, the glow rect and the plan-window's centering follow the grown height, and the text block centers in the grown box.
This commit is contained in:
@@ -52,7 +52,7 @@ export function planWindowViewBox(tree: PlanTree, current: string | null): strin
|
||||
: Math.max(layout.width, 1) / 2;
|
||||
const cy =
|
||||
focusId !== null
|
||||
? (layout.y.get(focusId) ?? 0) + NODE_H / 2
|
||||
? (layout.y.get(focusId) ?? 0) + (layout.nodeH.get(focusId) ?? NODE_H) / 2
|
||||
: Math.max(layout.height, 1) / 2;
|
||||
const clamp = (c: number, extent: number, view: number) =>
|
||||
extent <= view ? extent / 2 : Math.min(Math.max(c, view / 2), extent - view / 2);
|
||||
|
||||
Reference in New Issue
Block a user