baldav/frontend
4aiman a52e998fb6 BRouter: analysis + embed the offline routing engine (Stage 1)
Analysis in docs/brouter-findings.md: how BRouter knows roads (.rd5
segments), routes and reaches low elevation gain (profile uphill/downhill
cost + kinematics), the three call surfaces, and an evaluation of two ideas
— fill GPS gaps along roads, and offline waypoint route planning. License is
MIT; the engine has no desktop-only deps, so it embeds on Android ART.

Stage 1 (embed + bridge, compiles into the apk; on-device route not yet run):
- vendored brouter-1.6.3-all.jar into the Android module (dexes cleanly) and
  bundled the trekking/shortest profiles + lookups.dat as assets, copied to
  files/brouter/profiles2 on launch
- MainActivity: a brouter_command.txt handler on the existing FileObserver
  runs btools.router.RoutingEngine off the UI thread (recipe taken via javap
  from ServerHandler) and returns the track as GPX
- Rust brouter_route command: same file bridge as GPS (request + command,
  poll for the result), registered in the invoke handler
- frontend/js/router.js: BRouter.route(points, profile) -> GPX (parseRouteGPX)
- LICENSE-brouter (MIT notice) kept alongside the vendored engine

Segments (.rd5, ~13-23 MB per 5x5 tile) are delivered later (Stage 2, wired
download inside BalDav). IMPLEMENTATION_PLAN.md tracks the 5 stages.
2026-09-09 00:56:13 +03:00
..
css rec screen: status-bar backdrop so the system bar stays visible over the map 2026-09-07 17:15:19 +03:00
data Product catalog cleanup (no-badge unused) + order-independent search 2026-08-25 18:23:51 +03:00
img Compass map rotation, landscape layout, GPS placeholder 2026-06-25 16:54:45 +03:00
js BRouter: analysis + embed the offline routing engine (Stage 1) 2026-09-09 00:56:13 +03:00
lib ЧЗ scanner: switch decoder to zxing-wasm (ZXing-C++) for reliable DataMatrix 2026-08-27 09:42:05 +03:00
index.html BRouter: analysis + embed the offline routing engine (Stage 1) 2026-09-09 00:56:13 +03:00