v104.0.5lumaweave2026-06-03

Minimap rect via viewportToGraph + snapshot projection (0.3 never landed; redo)

v104.0.3 did land viewportToGraph, but three bugs kept the rect wacky: effect deps caused constant cleanup during settle (clientWidth = 0), Y-axis inversion made rect appear off-screen below the minimap, and getDimensions() needed instead of clientWidth.

v104.0.52026-06-03
  • ·Math.min/max for visMinY/visMaxY: sigma viewportToGraph({x:0,y:0}) returns LARGE raw Y (sigma Y↑ convention). Math.min picks the smaller raw Y regardless = correct snapshot top. rawTop now ≈ offsetY/areaH * 100 ≈ 7% (was 93% → off-screen).
  • ·sigma.getDimensions() instead of getContainer().clientWidth: getDimensions() is set at sigma mount, always valid. clientWidth can be 0 before DOM layout.
  • ·Effect deps []: bounds/areaSize stored in refs. Sigma listener mounted once. During v104.0.4's settle (bounds changes every 150ms), no more cleanup/setup cycle thrashing.