From a25cd7b51d127b7167f70ecfb8fc03020e1ae7a5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:59:19 +0000 Subject: [PATCH 1/2] Initial plan From 6c56d755f7065be3a67d5ca9dcf87157d4fabf7e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:02:56 +0000 Subject: [PATCH 2/2] fix: stabilize equal-axis fitting when ui axes pixel bounds lag --- +labkit/+app/+plot/private/finitePlotLimits.m | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/+labkit/+app/+plot/private/finitePlotLimits.m b/+labkit/+app/+plot/private/finitePlotLimits.m index 70ed0954..81ef9bcf 100644 --- a/+labkit/+app/+plot/private/finitePlotLimits.m +++ b/+labkit/+app/+plot/private/finitePlotLimits.m @@ -11,8 +11,7 @@ end function [xLim, yLim] = equalDataUnitLimits(ax, xLim, yLim) - drawnow - position = getpixelposition(ax, true); + position = resolveAxesPixelPosition(ax); if numel(position) ~= 4 || position(3) <= 0 || position(4) <= 0 return; end @@ -35,6 +34,24 @@ yLim = unscaleLimits(yWork, yLog); end +function position = resolveAxesPixelPosition(ax) + position = [NaN NaN NaN NaN]; + for attempt = 1:3 + drawnow + position = getpixelposition(ax, true); + if numel(position) == 4 && position(3) > 0 && position(4) > 0 + return; + end + if attempt == 3 + break; + end + end + fallback = ax.Position; + if numel(fallback) == 4 && fallback(3) > 0 && fallback(4) > 0 + position = double(fallback); + end +end + function limits = scaleLimits(limits, isLog) if isLog if any(limits <= 0)