import { InjectionKey } from 'vue'; /** * 노드 내부 handle 재측정 요청 수집기 (VE-1 ①) — 캔버스가 provide, EntityNode가 onUpdated마다 * 자기 id를 mark(무비용 후보 등록). 캔버스는 rAF 배치 flush에서 후보의 기하 시그니처(노드 높이 + * 행별 y)를 비교해 **실제로 변한 노드만** `updateNodeInternals(ids)`로 재측정한다. * * 왜 시그니처 판정이 필수인가: Vue Flow의 updateNodeInternals는 forceUpdate로 handleBounds를 * 무조건 새 객체로 써 그 노드를 다시 재렌더시킨다 — 재렌더를 무조건 mark하면 측정→재렌더→측정 * 무한 루프. 시그니처가 무변화면 측정을 생략해 루프가 한 사이클 만에 종료된다. 부수 효과로 * 텍스트-only 변경·hover 강조 재렌더도 재측정에서 자연 제외된다. */ export interface NodeInternalsCollector { mark: (nodeId: string) => void; } export declare const NODE_INTERNALS: InjectionKey;