75 lines
4.2 KiB
Markdown
75 lines
4.2 KiB
Markdown
# 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-android` and
|
|
`nigig-traffic-camera-boom-fix`; their old history now lives in remote
|
|
the exported `makepad-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
|
|
|
|
```sh
|
|
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
|
|
|
|
1. 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.
|
|
2. Port dev's scrolling ownership/drag-containment and reload fixes to work's
|
|
current widget/script APIs. Keep both sets of regression tests.
|
|
3. 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.
|
|
4. Preserve or port the Quest package variant, native XR integration and CEF
|
|
widget, which the inspected work layout removed/replaced.
|
|
5. 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.
|
|
6. Carry required game/work libraries and both camera/particle fixes, then
|
|
resolve dependency/workspace changes and regenerate lockfiles with Cargo.
|
|
7. 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.
|
|
8. 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.
|