instead of rebuilding the path information for all files:
keep a log of all files that changed either through hooks or file last changed information
delete all paths that contain changed notes
rebuild the path information, but only allow navigation through the notes that were contained in paths that were deleted because they contained changed notes
this might be performant enough to run live in the background
instead of rebuilding the path information for all files:
this might be performant enough to run live in the background