Directory Structure - msupino/NavigationApp GitHub Wiki
🇮🇱 עברית
Directory structure
NavAid is a static site with no build step.
docs/
├── index.html, sw.js, manifest.json, robots.txt, sitemap.xml
├── app/ # ordered global JavaScript plus style.css
├── data/ # runtime JSON datasets
├── i18n/ # English empty overlay + Hebrew overrides
├── assets/ # icons and social images
├── byop/ # stable public airport-chart PDF URLs
└── legacy/ # unused historical map generator
mobile/
└── shell/ # small Capacitor stub; native app opens the live site
tests/ # Playwright and static regression suites
The runtime script order is defined by docs/index.html: core,
route-graph-shapes, terrain, draw, interact, io, altitude helpers,
gdrive, gps, ui, editor, assistant, then offline-tiles. Run
node --check on every changed JavaScript file.
Layer-specific datasets use cvfr-, lsa-, or heli- prefixes. Reporting
points, leg altitudes and comm-change points all come from one file per layer,
*-route-graph.json, and docs/app/route-graph-shapes.js projects each of those
three shapes out of it at run time.
Shared data includes airfields.json, airfield-hours.json (published hours), route-templates.json, vor.json,
terrain, weather, and NOTAM fallbacks. Deploy rewrites their ?v= markers.
English defaults live in docs/app/core.js; docs/i18n/en/strings.js is an
intentionally empty overlay and docs/i18n/he/strings.js supplies Hebrew.
Trusted Pages deploys map main/docs/ to / and dev/docs/ to /staging/.
PR heads exist only inside a run-scoped artifact for localhost E2E, not as a
public executable preview.