π₯ Gimbal GPS Load (Recall)
Recall a saved latent waypoint and keep navigating
- reference_latent
- reconstructed_latent
- waypoint_meta
- load_report
GimbalGPS_Load is the inverse of GimbalGPS_Anchor. It reads a waypoint JSON that the anchor node wrote to output/gimbal/, reconstructs the latent tensor, and hands it back to your graph so you can resume navigating from exactly where you left off - in a new session, a new workflow, or even on another machine that has the file.
How it works
The waypoint_file input is a dropdown that lists every .json it finds in output/gimbal/ (it rescans, so files you drop in appear without a restart). If the dropdown shows <no waypoints found>, that means the folder's empty - which brings in the second input, reference_latent, which is required even though it feels optional. The node needs a reference to reconcile the saved coordinates with your current setup, and the mode dropdown decides how:
Reference_Only- uses the reference's shape/device/dtype to rebuild the saved tensor. The plainest mode.Statistical_Match(default) - rescales the saved latent to match the reference's statistics, useful when the waypoint came from a different resolution or model.Coord_Steering- uses the saved coordinates as a steering target rather than a full replacement; combined withstrength(0β2, default 1) it blends between your reference and the waypoint instead of swapping in wholesale.
You can bypass the dropdown entirely with manual_path, which takes an arbitrary file path - handy for waypoints shared out-of-band. Outputs are reconstructed_latent, waypoint_meta (the saved provenance dict), and load_report (a readable string).
The workflow shape
Anchor (in session A) β save waypoint β close ComfyUI β open workflow B β GPS Load with the waypoint name β wire reconstructed_latent into a Compass Pro as a target_latent or mu_centroid β keep steering. The README's tutorial is a good shape for it: extract the best cell from a manifold grid, anchor it as a named waypoint, and later re-render that exact lighting or composition onto a new subject.
Installing
Standard pack install: ComfyUI Manager β search "Gimbal-comfy" β install β restart, or git clone https://github.com/FormAndNoise/Gimbal-comfy into ComfyUI/custom_nodes. Dependencies are torch/numpy/pillow, already bundled; nothing downloads. (The README's clone URL is stale - FormAndNoise/Gimbal-comfy is the live repo.)
Where people get burned
The classic failure is the empty dropdown: you're sure you saved a waypoint, but the list says none exist. Check that save_waypoint was actually true on the anchor node, and check where the file went - ComfyUI's output folder, not the pack's install folder, under gimbal/. Second, don't expect pixel-perfect resurrection. A waypoint is a latent position, not a finished image; sampling it again gives you a similar render because the sampler's noise is part of what you remember as "the image." Third, mismatched shape between the saved tensor and your reference_latent is where Statistical_Match earns its keep - if you hit a shape error, that's the mode to try. It's a niche but genuinely useful node; the pack's almost nonexistent community footprint means you'll be debugging any rough edges solo, but the anchor/load loop itself is short and works as documented.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| waypoint_file | COMBO | 1 options: <no waypoints found> | |
| reference_latent | LATENT | β | |
| mode | COMBO | Statistical_Match | 3 options: Reference_Only, Statistical_Match, Coord_Steering |
| strength | FLOAT | 1.000β2 | β |
| enable_perf_logging | BOOLEAN | false | β |
| manual_pathopt | STRING | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| reconstructed_latent | LATENT | β |
| waypoint_meta | DICT | β |
| load_report | STRING | β |