Integration checklist
This checklist covers Navigation integrations.
Use this checklist during integration planning and when validating behavior in the application. Record evidence for each applicable item and explain exclusions in the integration notes. Keep automated results and manual or physical-device checks distinct.
Implementation
Section titled “Implementation”- Thread: all native calls run on the permitted application thread. Scheduler callbacks are deferred, never inline.
- Target: queries and writes use the same captured viewport or object. Closing or replacing it invalidates the context.
- Pose: convert units, axes, projection and viewport aspect consistently. See coordinates.
- Result: return the actual pose after writing. Distinguish a failed write from a successful write with unknown readback.
- Events: notify the
NavigationSessionof native camera/object changes and invalidated contexts. See application binding. - Lifecycle: announce capabilities, tags and focus after connecting. Close the
NavigationSessionand finish cleanup before destroying native resources. See connection lifecycle.
Test in the application
Section titled “Test in the application”| Test | Pass condition |
|---|---|
| Orbit, pan and zoom in perspective and orthographic views | Correct direction and scale; no drift or flicker |
| Landscape, portrait, resized and split views | Aspect, picks and overlays agree with the drawable viewport |
| Native mouse/controller input during a gesture, including release | Movement stays continuous; no final jump |
| Close/replace target, disconnect, reload and unload | No stale writes, leftover graphics or duplicate handlers |
| Picking, if supported | Cursor outside viewport misses; center and selected-geometry picks work independently |
| Object manipulation, if supported | Stable target; native accept/cancel and undo behave correctly |
| Diagnostics on versus off | Same navigation; no effect on selection, extents, snapping or saved content |
Automated commands and coverage live in the demo READMEs: Python, C#, TypeScript, and C++. Native viewport behavior and physical-device input still require the application checks above.
For a failure, retain application/SDK versions, projection, viewport size and the failing step, plus the actual pick or requested/realized pose from diagnostics.