-
Notifications
You must be signed in to change notification settings - Fork 12
Graph Editing
JokerJohn edited this page Apr 23, 2026
·
6 revisions
The tool distinguishes between:
- adding a new manual loop
- replacing an existing loop edge
- disabling an existing loop edge
- restoring a disabled edge
Use this when the graph does not already contain the constraint you want.
Workflow:
- pick a source / target pair
- refine the initial pose if necessary
- run GICP
- verify the result in the viewer
- click
Add
Use this when an existing loop edge is present but unreliable.
Workflow:
- switch to
Edges - select the existing loop
- run GICP from the current preview seed
- click
Replace
Internally this keeps the original graph untouched, disables the selected existing loop in the working graph, and applies the new manual result instead.
-
Disableremoves an existing loop from the working graph only. -
Restorebrings the disabled loop back into the working graph.
Export is based on the working graph state after optimization.
This means:
- disabled loops are excluded
- replacement loops are exported through the accepted working graph state
- original input files are not overwritten
Each edit project now writes:
project_state.jsonexecution.logoperations.jsonl
This makes it possible to:
- review what was changed during a manual editing session
- reopen the latest project with
Load Session - reopen a specific old project with
Open Project
-
manual_loop_runs/stores the actual optimization outputs -
manual_loop_exports/stores a lightweight export manifest that points to one selected run
So Export no longer duplicates the full run directory again.
Manual Loop Closure Tools · Repository · README · MS-Mapping