nigig-org/REVIEWS/docs/map-fork-sync-2026-08-16.md
andodeki 4426cd2c43
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
docs(map): reconcile makepad fork with upstream dev 2026-08-16
- Fork portallist_flow_adaptive_view at ecf5a572 is 1 ahead / 0 behind upstream dev abd70f47 (Aug 15); extra commit restores test/gltf/csg re-exports
- Hard-reset nigig-dev-reexports from stale 2c5cd97 to ecf5a572 and force-pushed so both tracking branches are current
- Pinned rev stays ecf5a572 in map + pdf-makepad Cargo.toml (no bump needed)
- Document baseline strategy: nigig-map/makepad_map as control surface tracking upstream widgets/src/map, not enabling map feature in nigig-rider for rendering; upstream routing (map_nav/geodata/route app) stays separate from widget (valhalla vs map_nav decision)
- Note periodic diff workflow for packed-vertex, LOD, dissolve, growing-archive watcher improvements
2026-08-16 21:30:47 +00:00

3.9 KiB

Makepad Fork Sync — 2026-08-16

Summary

Fork https://gitdab.com/andodeki/makepad was verified against upstream makepad/makepad dev.

  • Upstream dev HEAD: abd70f4716ca (2026-08-15, Update README.md)
  • Fork portallist_flow_adaptive_view HEAD before sync: ecf5a572ab62a1c1598909971f602f99083671cc (fix(widgets): restore fork-local test/gltf/csg re-exports)
  • Result: fork was 1 ahead, 0 behind upstream. No upstream commits to merge. The 1 ahead is the fork-only fix that restores widgets/Cargo.toml + widgets/src/lib.rs re-exports for test/gltf/csg lost during the abd70f4 merge. Without it nigig-pdf-makepad fails with makepad-widgets does not have feature test.

Actions taken (this sync)

  1. Fetched upstream/dev into /tmp/makepad-fork.
  2. Compared portallist_flow_adaptive_view vs upstream/dev: 1 ahead / 0 behind → no merge needed.
  3. Compared nigig-dev-reexports (old tip 2c5cd97a) vs portallist_flow_adaptive_view. The old branch was 2 months behind and had diverged (still contained apps/arcade deletions etc). Hard-reset nigig-dev-reexports to portallist_flow_adaptive_view tip ecf5a572 so both tracking branches are identical and current.
  4. Force-pushed nigig-dev-reexports to origin with --force-with-lease.
git checkout nigig-dev-reexports
git reset --hard portallist_flow_adaptive_view
git push origin nigig-dev-reexports --force-with-lease

Pinned rev in nigig-org

crates/apps/map/Cargo.toml and crates/apps/pdf/pdf-makepad/Cargo.toml both pin rev = "ecf5a572ab62a1c1598909971f602f99083671cc" which is now the tip of both fork branches. No bump needed this cycle.

Next sync: re-run REVIEWS workflow §0.1 checks:

curl -sL "https://gitdab.com/api/v1/repos/andodeki/makepad/branches" | python3 -c "import json,sys;[print(b['name'], b['commit']['id'][:12]) for b in json.load(sys.stdin)]"
curl -sL "https://api.github.com/repos/makepad/makepad/commits?sha=dev&per_page=5" | python3 -c "import json,sys;[print(c['sha'][:12], c['commit']['committer']['date'][:10], c['commit']['message'].splitlines()[0][:70]) for c in json.load(sys.stdin)]"
grep -h "makepad-widgets" crates/apps/pdf/pdf-makepad/Cargo.toml crates/apps/map/Cargo.toml

Nigig-map baseline strategy

  • Do not enable makepad-widgets maps feature in nigig-rider to render Makepad's MapView directly. Keep it only if NigigMapView registration still depends on it (comment in nigig-rider/Cargo.toml warns silent book.rs failure without it). Long-term goal is nigig-map owns NigigMapView and the feature can be dropped.
  • nigig-map is the control surface: crates/apps/map/src/makepad_map/ is a baseline copy of makepad/widgets/src/map/ (copied at d82756a, currently reconciled to latest abd70f47 + local adaptation fixes for imports and super:: paths). Improvements from upstream are cherry-picked there, not by switching the app to the upstream widget.
  • Upstream routing capabilities (apps/route + libs/map_nav, libs/geodata, libs/makepad_ai) are not part of widgets/src/map. They live in separate crates/apps. Tracking them is a separate decision: either vendor map_nav/geodata into nigig-map or keep routing in valhalla-* crates (current choice). This sync confirmed nigig-map/makepad_map is byte-identical to upstream widgets/src/map modulo the 4 local adaptation patches (icons path, super:: rewrites, direct makepad-fast-inflate/mbtile-reader crates, DrawVector import).

Review follow-up (improving map crate)

  • Keep nigig-map 6-subsystem split (viewport, cache, scheduler, renderer, label_state, tile_decode/tile_disk) as in map-rewrite-plan.md.
  • Periodically diff /tmp/makepad-fork/widgets/src/map/ vs crates/apps/map/src/makepad_map/ (diff -r + git log -- widgets/src/map) and port only the passes that matter (packed vertex 12-slot, fringe split, LOD rings, ordered-dither dissolve, growing-archive watcher).