(range: ZoomRange, center: number)
| 689 | }; |
| 690 | |
| 691 | const computeZoomInOutAnchorRatio = (range: ZoomRange, center: number): number => { |
| 692 | const span = range.end - range.start; |
| 693 | if (!Number.isFinite(span) || span === 0) return 0.5; |
| 694 | return clamp((center - range.start) / span, 0, 1); |
| 695 | }; |
| 696 | |
| 697 | const createCoordinatorZoomStateLike = (): ZoomState => { |
| 698 | const getRange: ZoomState['getRange'] = () => coordinator?.getZoomRange() ?? { start: 0, end: 100 }; |