| .. | ||
| check.py | ||
| README.md | ||
Nigig compatibility gate for the combined dev/work migration
Status: migration baseline only. Latest upstream work is NOT integrated by
the existing traffic integration branch yet. Runtime code remains the previously checked traffic
integration at 25e742949dada71af6899ea1c32b25f1e82b3935.
The user requested both latest upstream branches, while explicitly preserving existing nigig compatibility. Do not drop Android/Quest, CEF, the test protocol, or game functionality to make conflicts disappear.
Starting points
- Windows nigig-org original pin:
66cc4f15f598c89552b9c67857a62ab33b0b6db3. - Original containing branches:
nigig-makepad-test-androidandnigig-traffic-camera-boom-fix; their old history now lives in remote the exportedmakepad-original-histories.bundle; the temporary backup refs were deleted at the user's request. - Published, checked dev-based Android integration:
d8d5ea8b6. - Published, checked dev-based traffic integration:
25e742949. - Latest upstream dev inspected:
44ecb822b48106fa76bde4dfd309e5a8a7ff1932. - Latest upstream work inspected:
817546c537faa385ad24aa391612f70576020a43. - Upstream merge base:
71c9ddcbb9c01dd208f99621fdd71024a5d35c65.
There are 6 dev-only and 848 work-only commits at these tips. A direct merge of work into the published nigig Android integration produced 177 conflicted paths. Merging the two upstreams first reduced the initial conflict set to 15 paths, but that is only the upstream combination, before reapplying nigig functionality. Both trial merges were aborted. No conflict resolutions or partial combined runtime code have been published.
Static sentinels
python3 tools/nigig_compat/check.py
python3 tools/nigig_compat/check.py --root /path/to/migration-checkout
Eight checks cover optional sibling exports, isolate host entry points, Android NIGIG_TEST_MODE forwarding, startup/touch/long-press/paste/IME protocol names, secondary dex/custom manifest/wrapper packaging, required game package names, Quest packaging and the CEF widget feature. They pass on the checked baseline.
These are source-presence/interface sentinels, not AST proofs, runtime tests, security tests, or evidence that an implementation still behaves correctly. Adapt the test locations after legitimate relocations; do not weaken the behavioral requirements to accept missing functionality.
Migration work still required
- Combine upstream dev/work on an existing integration branch; do not create new branches. Preserve both the work live-edit error capture and dev reload-generation accounting.
- Port dev's scrolling ownership/drag-containment and reload fixes to work's current widget/script APIs. Keep both sets of regression tests.
- Port dev's iOS keyboard fix and Android activity-recreation handling into work's HAL backends. Old platform source files were removed; restoring them beside the new backend is not an implementation of the fix.
- Preserve or port the Quest package variant, native XR integration and CEF widget, which the inspected work layout removed/replaced.
- Reapply nigig test-mode forwarding, startup/touch protocol and dex/wrapper packaging against the new platform boundaries. Preserve protocol wire compatibility, not just enum names.
- Carry required game/work libraries and both camera/particle fixes, then resolve dependency/workspace changes and regenerate lockfiles with Cargo.
- Validate Rust checks/tests, budget-app and selected nigig applications. Run Android device tests for rotation/fold/split screen, startup, IME, touch, secondary dex and the share receiver; exercise CEF and Quest when supported.
- Only after these gates pass, update both existing integration refs atomically with leases (export recovery history to a bundle, not new branches) and regenerate nigig-org's root pin/lockfile. Do not move the Windows checkout to a partially combined candidate.
Existing Windows pin update (dev-based, not latest combined work)
The existing nigig-org main branch contains the tested
root pin update to 25e742949. A local Windows Cargo.toml still showing
66cc4f15 has not applied it. With a clean checkout, fetch and inspect that
update before applying it; preserve any local changes first.