Skip to content

Maps: the search and route map draws makepad's pre-baked world map - #165

Merged
ymote merged 1 commit into
mainfrom
feat/maps-makepad-archive
Oct 3, 2026
Merged

ymote merged 1 commit into
mainfrom
feat/maps-makepad-archive

Conversation

@ymote

@ymote ymote commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Maps' search/route map (plan_map) now reads makepad's hosted, pre-baked world archive through MapView.archive_url (makepad #55, pinned by #161):

archive_url: "https://makepad.nl/maps/world-20260926.mkmap"

Tiles come from a sharded .mkmap archive (VersaTiles' OpenStreetMap planet, repacked by makepad's tools, with pre-baked geometry for dense city tiles) by range reads with a bounded disk cache, instead of raw Overpass queries built into geometry on the phone. makepad.nl is added to the manifest's hosts, and the README rows (EN/zh) say which map uses which source.

The two drive maps stay on Overpass: a MapView in a 2d/3d nav mode loads archive tiles but draws none (on desktop; 25/30 tiles Ready). That's a makepad nav-mode drawing bug to fix separately.

Verification

  • Phone shell on desktop (hidden window, remote instrument): San Jose loads in about 2 s; zoom past the archive's z14; search; route San Jose → Santa Clara University (11 min · 6.9 km); 2D drive draws tiles; 3D drive blank as on main.
  • OnePlus 6T (test package): map in about 2 s; San Jose → Santana Row route (10 min · 8.3 km).
  • Mate 70 Air (HarmonyOS 6.1, with makepad Import OctoSense-ROM and OctoSense-System-Apps into one workspace (ADR 0001 phase 1) #56's HTTPS): map, Photon search, OSRM route, 2D and 3D drive tiles.
  • cargo test --locked --features mobile-apps -p octosense-shell (from phone/): 565 passed, including the test that opens every bundled app.

Before merging

makepad.nl is the makepad authors' demo server; archive names are dated and old ones are removed (world-20260903 is already 404). Shipping on it needs their agreement, or a copy of the archive we host.

Known, not from this PR

Far destinations (Paris or Bangkok from San Jose) show an empty map: the plan camera never zooms out below 10, so it frames the middle of a 1,800–14,000 km route. That's the same on Overpass.

🤖 Generated with Claude Code

@ymote
ymote force-pushed the feat/maps-makepad-archive branch from 68a4871 to cd0a5ac Compare October 2, 2026 03:34
@ymote
ymote force-pushed the feat/maps-makepad-archive branch 2 times, most recently from efc017b to 6a7c3b0 Compare October 2, 2026 19:06
The search/route map uses MapView's archive_url (makepad #55) with
https://makepad.nl/maps/world-20260926.mkmap instead of Overpass; the
drive maps stay on Overpass until the nav-mode drawing bug is fixed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ymote
ymote force-pushed the feat/maps-makepad-archive branch from 6a7c3b0 to 0341467 Compare October 3, 2026 04:17
@ymote

ymote commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

Local CI passed on 0341467 (tools/ci-local.sh --only all --linux-host, 21m16s, Darwin arm64; the ubuntu jobs on the Linux build host, Linux x86_64).

GitHub would run for this PR: desktop.yml, phone.yml, apps.yml. Merged on this local pass (macOS runner queue); GitHub CI runs on the merge commit on main.

Job Step Result Time
ci-local / drift The local mapping fits the workflows PASS -
desktop.yml / desktop Prepare the pinned framework sources PASS 1s
desktop.yml / desktop Compile the desktop with the shared runtime PASS 2m44s
desktop.yml / desktop One copy of every shell source PASS -
desktop.yml / desktop Desktop tools and scripts PASS 10s
desktop.yml / desktop One Makepad, App Hub, octos and Rinx in the locked graph PASS 5s
desktop.yml / desktop The native apps' generated places match native-apps.json PASS 0s
phone.yml / home Prepare pinned sources and the reviewed runtime patch PASS 0s
phone.yml / home Compile Home and its bundled modules PASS 2m18s
phone.yml / home Verify the single runtime graph PASS 3s
phone.yml / home The native apps' generated places match native-apps.json PASS 0s
phone.yml / home The pinned octos revision PASS 0s
phone.yml / home Build octos (unless cached) PASS -
phone.yml / home Build Home, App Hub admission and runtime policy tests PASS 2m58s
phone.yml / home Test Home, App Hub admission and runtime policy PASS 7m44s
phone.yml / home Two-lane scenario (real kernel, scripted model) PASS 37s
apps.yml / services (linux) python3 tools/setup.py PASS 0s
apps.yml / services (linux) Kernel service PASS 10s
apps.yml / services (linux) App peers PASS 23s
apps.yml / services (linux) AI providers config PASS 3s
apps.yml / services (linux) L0 in-card chat (sys.chat, host side) PASS 8s
apps.yml / services (linux) System toolbox (workflow templates) PASS 1m28s
apps.yml / kernel-security (linux) python3 tools/setup.py PASS 1s
apps.yml / kernel-security (linux) The pinned octos revision PASS -
apps.yml / kernel-security (linux) Build octos (unless cached) PASS -
apps.yml / kernel-security (linux) Real-kernel tests PASS 30s
apps.yml / apps python3 tools/setup.py PASS 0s
apps.yml / apps Host services (Mail, AI providers, News) PASS 1m13s
apps.yml / apps Shell AI services (crates/ai-host) PASS 2m21s
apps.yml / apps AppCard runtime setup safeguards PASS 0s
apps.yml / apps AppCard clippy (own crates; shared runtime compiles) PASS 39s
apps.yml / apps AppCard transport and store PASS 13s
apps.yml / apps One Makepad, App Hub, octos and Rinx in the locked graph PASS 6s
rom.yml / product (linux) python3 -m unittest discover -s tests -v SKIPPED (!) -
rom.yml / product (linux) Check generated Agent Binder client SKIPPED (!) -
rom.yml / product (linux) bash -n scripts/stage-forks.sh scripts/publish-release.sh scripts/apply-to-tree.sh scripts/build-rom.sh PASS -
rom.yml / web-installer (linux) npm ci --ignore-scripts --no-audit --no-fund SKIPPED (!) -
rom.yml / web-installer (linux) npm test SKIPPED (!) -
rom.yml / web-installer (linux) npx playwright install --with-deps chromium SKIPPED (!) -
rom.yml / web-installer (linux) npm run test:browser SKIPPED (!) -
rom.yml / web-installer (linux) python3 -m unittest discover -s tests -p test_installer_manifest.py -v SKIPPED (!) -
rom.yml / web-installer (linux) bash -n scripts/release.sh SKIPPED (!) -
linux-host / sandbox (linux) python3 tools/setup.py PASS 0s
linux-host / sandbox (linux) Process sandbox on Linux (Landlock, seccomp) PASS 1m18s

Skipped (these did NOT pass; (!) marks a skip that blocks tools/ci-local-merge.sh):

  • rom.yml / product (linux): python3 -m unittest discover -s tests -v: javac -version does not work here: install a JDK (17 or newer) and put its bin/ on PATH or set JAVA_HOME
  • rom.yml / product (linux): Check generated Agent Binder client: needs build-tools/35.0.0/aidl, platforms/android-35/framework.aidl in the Android SDK (no Android SDK found): install the SDK packages 'build-tools;35.0.0' and 'platforms;android-35' (sdkmanager) and set ANDROID_HOME
  • rom.yml / web-installer (linux): npm ci --ignore-scripts --no-audit --no-fund: no node, npm, npx on PATH (the workflow uses node 24); put node on PATH
  • rom.yml / web-installer (linux): npm test: no node, npm, npx on PATH (the workflow uses node 24); put node on PATH
  • rom.yml / web-installer (linux): npx playwright install --with-deps chromium: no node, npm, npx on PATH (the workflow uses node 24); put node on PATH
  • rom.yml / web-installer (linux): npm run test:browser: no node, npm, npx on PATH (the workflow uses node 24); put node on PATH
  • rom.yml / web-installer (linux): python3 -m unittest discover -s tests -p test_installer_manifest.py -v: no node, npm, npx on PATH (the workflow uses node 24); put node on PATH
  • rom.yml / web-installer (linux): bash -n scripts/release.sh: no node, npm, npx on PATH (the workflow uses node 24); put node on PATH

Notes:

  • GitHub runs Python 3.12; this run used Python 3.9.6
  • GitHub runs Python 3.12; the Linux host used Python 3.14.4

@ymote
ymote merged commit e6bfad9 into main Oct 3, 2026
5 checks passed
@ymote

ymote commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

The makepad authors agreed to OctoSense using makepad.nl (confirmed by the project owner, 2026-10-02).

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.

1 participant