Skip to content

Fix STACK command forwarding, ACDATA caching, and assorted UI bugs - #217

Merged
amvlab merged 9 commits into
mainfrom
fix/stack-forwarding-and-ui-fixes
Oct 17, 2026
Merged

amvlab merged 9 commits into
mainfrom
fix/stack-forwarding-and-ui-fixes

Conversation

@amorfinv

Copy link
Copy Markdown
Collaborator

Summary

  • STACK forwarding: sim-forwarded GUI commands (PAN/ZOOM from scenario files) are now relayed to browsers as stack_command and executed by the frontend CommandHandler, instead of being reported as unsupported. Semicolon-joined payloads are split like BlueSky's client. ZOOM IN/OUT [factor] now matches BlueSky's sqrt(2) step semantics.
  • ACDATA cache: traffic_data is refreshed (throttled) even with no browser attached, so new clients don't get stale/ghost aircraft. Perf instrumentation restarts its window after idle gaps and counts serializations separately (+ tests/test_perf.py).
  • Shapes: full redefinitions replace the stored entry and evict it from the other kind's store (LINE↔POLY).
  • Server: a failed command send now echoes an error to the sender.
  • UI: panel drags end on blur/lost mouseup; fixed-size panel bases no longer persisted. 3D fleet no longer leaks duplicate meshes. Route constraints retry resumes remaining waypoints instead of re-sending. Escape only cancels POLY input once map-click drawing has begun.
  • Integrated: status probe can't clobber an in-flight lifecycle action; Server Log tab hides Create Log and scrolls to newest lines on show.

🤖 Generated with Claude Code

amorfinv and others added 9 commits October 17, 2026 14:43
Refresh proxy.traffic_data at the throttled rate even when no client is
connected, so the initial_data snapshot never serves stale aircraft.
Restart the perf measurement window after idle gaps and count
serializations separately from emits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Forward STACK lines to browsers as stack_command events, splitting
semicolon-joined payloads like BlueSky's reference client, and run them
through the frontend CommandHandler. ZOOM IN/OUT now accept an optional
factor and step by sqrt(2) like BlueSky.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A full shape definition replaces the stored entry and evicts the name
from the other store, so LINE<->POLY redefinitions render correctly and
stale fields don't linger.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
End a drag on window blur or when no mouse button is held, and stop
persisting fixed-size panel bases that live data could not change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ating

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ignore status probes that resolve during a lifecycle action, hide the
Create Log button on the Server Log tab, and scroll to newest lines when
the tab is shown.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@amvlab
amvlab merged commit ad68be7 into main Oct 17, 2026
2 checks passed
@amorfinv
amorfinv deleted the fix/stack-forwarding-and-ui-fixes branch October 17, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants