Skip to content

Tuning Panel

Marco edited this page Jun 7, 2026 · 1 revision

🇮🇱 עברית

Tuning Panel

NavAid ships a hidden tuning panel that exposes every drawing constant — line widths, kite geometry, fonts, colors, drift dashes, comm-change arrows, marker sizes — as live sliders. It's a developer / power-user surface for dialing in how the overlay looks, then copying the chosen values back into the source defaults.

Opening and closing

The panel is off by default. Enable it with a URL parameter:

URL Effect
?tune=1 (or just ?tune) Open the tuning panel.
?dev=tune Same — alternate switch.
#tune Same — hash switch.
?tune=0 (or false / no / off) Explicitly disable it (overrides a bare ?tune).

Example: https://msupino.github.io/NavigationApp/?tune=1.

The panel is a floating window — drag it by its header to reposition. Its position is the one thing it persists, under localStorage["navaid.tunePanelPos"].

What it controls

Constants are grouped into collapsible sections. Each control edits one constant and redraws the map immediately. Categories include:

  • Route lines — route line width, selected route line width.
  • Drift lines — drift angle, length factor, dash on/gap, stroke width.
  • Leg kite — height, cell width, triangle length, border / divider / halo width, heading & cell text sizes, heading anchor.
  • Cumulative-time kite — height, cell width, triangle length, border, text size.
  • Minute markers — label font, even/odd tick length & width, label offset.
  • Distance badge — radius, border width, text size.
  • Waypoints — base radius, text size, text-pad factor, min-zoom scale, selected radius add, stroke width.
  • Airfields — triangle radius / width / base factors, stroke width, label font / offset / halo.
  • Nav-waypoints — dot radius, stroke width, label font / offset / halo.
  • Comm-change (freq-change) — ring radius / width, arrow tail lat/lng offsets, arrow start gap / width / miter / halo / alpha, selected alpha.
  • Colors and fonts — color pickers and font sizes for the various overlay elements.

Each row offers a number input plus a range slider (or a color picker / text field / dropdown for non-numeric constants) and a button to reset that single value to its source default.

Panel actions

  • Reset all — return every constant to its source default.
  • Copy JSON — copy the full set of current values to the clipboard, ready to paste back into the constant defaults in docs/app/core.js.

Persistence

Tuning changes are page-local and not saved — reload (without ?tune=1, or with ?tune=0) and the app is back to its source defaults. Only the panel's window position persists. This keeps experiments from leaking into a normal session; to make a value permanent, Copy JSON and commit the change to the source constants.

See also

Clone this wiki locally