Nodes/Gimbal-ComfyUI/πŸ“₯ Gimbal GPS Load (Recall)
ComfyUI Node

πŸ“₯ Gimbal GPS Load (Recall)

Teleport back to a saved latent coordinate in a later session

By FormAndNoiseΒ·Created about a month agoΒ·Updated 19 days agoΒ· 0
πŸ“₯ Gimbal GPS Load (Recall)
  • reference_latent
  • reconstructed_latent
  • waypoint_meta
  • load_report
β—„waypoint_fileβ–Ύβ–Ί
β—„modeStatistical_Matchβ–Ί
β—„strength1.00β–Ί
β—„enable_perf_loggingfalseβ–Ί
β—„manual_pathβ–Ί

GPS Load is the other half of the bookmarking pair in the Gimbal-comfy suite (by Form & Noise). If GPS Anchor is "save this latent," GPS Load is "bring it back" - it reads a JSON waypoint that Anchor wrote and reconstructs a latent from it in a fresh session. Together they're what make a good generation a place you can return to, rather than a one-time roll of the dice.

The honest framing first: a saved waypoint is a snapshot of a latent's coordinates and statistics, not a complete image. To turn those numbers back into something you can denoise, the node needs a reference_latent - a live latent from your current graph that provides the geometry - and then it layers the saved waypoint's information onto it. That's the whole design: you load a coordinate and let the current model re-render toward it.

How it works

waypoint_file is a dropdown populated from every .json in output/gimbal/ (the same directory GPS Anchor writes to). If nothing's been saved yet, it reads "<no waypoints found>" - and yes, that's the actual first entry you'll see. There's a manual_path string input to bypass the dropdown and point straight at a JSON file anywhere on disk.

The mode controls how the saved data gets merged onto your reference latent:

  • Reference_Only - keep the reference latent's structure and just apply the waypoint's stored metadata.
  • Statistical_Match - rescale the reference so its mean and standard deviation match the saved tensor's. This is the mode for "my new latent is the right shape but the wrong texture/contrast neighborhood."
  • Coord_Steering - steer the reference toward the saved coordinates, with strength (0–2) controlling how far you go.

Outputs are reconstructed_latent (into a KSampler or VAEDecode), waypoint_meta (DICT), and load_report (STRING). The node also re-checks the file each run via its change detection, so if you regenerate a waypoint file, a re-run picks up the new data.

The inputs that matter

For a first attempt: pick the waypoint from the dropdown, leave mode on Statistical_Match, set strength to 1.0, and wire a latent of the same shape in as reference_latent - one fresh out of a KSampler or a VAE Encode both work. If the recall looks weak or overdriven, strength is your dial, not the mode.

Common issues

The biggest footgun is expecting a pixel-perfect restoration: because the waypoint stores statistics and hashes rather than the full tensor, the reconstructed latent is a close neighbor, not a clone - you'll usually want a refinement pass (denoise ~0.5, modest CFG) to land cleanly. And if the dropdown is empty, you haven't saved a waypoint yet (or it's not in output/gimbal/); run a GPS Anchor with save_waypoint on first, or use manual_path.

Install

# ComfyUI Manager β†’ search "Gimbal"
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/FormAndNoise/Gimbal-comfy
pip install -r Gimbal-comfy/requirements.txt

Restart ComfyUI; it's under Add Node β†’ Gimbal/Navigation as "πŸ“₯ Gimbal GPS Load (Recall)". Just torch, numpy, pillow - no extra downloads.

CategoryGimbal/Navigation

Inputs (6)

NameTypeDefaultDescription
waypoint_fileCOMBO1 options: <no waypoints found>
reference_latentLATENTβ€”
modeCOMBOStatistical_Match3 options: Reference_Only, Statistical_Match, Coord_Steering
strengthFLOAT1.000–2β€”
enable_perf_loggingBOOLEANfalseβ€”
manual_pathoptSTRINGβ€”

Outputs (3)

NameTypeDescription
reconstructed_latentLATENTβ€”
waypoint_metaDICTβ€”
load_reportSTRINGβ€”