Performance and large projects
Flynt 0.12.10 hardens the paths that made large workspaces feel frozen: launch, tab activation, artifact discovery, and graph loading.
What changed in 0.12.10
- First paint is protected: recursive watcher startup is delayed so the window can render before filesystem monitoring competes for IO.
- Tab activation stays hot: note clicks and tab switches no longer prefetch the document and push a CodeMirror swap before the tab becomes active.
- Artifact discovery is bounded: drawing, board, and diagram wrapper lookup is scoped to Flynt artifact folders instead of walking the entire repository.
- Document dates are git-backed: the note header can show creation and modification dates derived from frontmatter, existing store state, and git history instead of indexing time.
- Graph loading has a safe default: massive graphs open in a bounded hub overview with a visible loading state and an explicit “Show all” escape hatch.
Graph behavior
Large graphs are useful only when they remain legible. Flynt now defaults huge unfiltered graphs to an overview of high-degree nodes. Search, filters, local mode, and the “Show all” action opt back into a broader render.
The renderer also avoids full pairwise repulsion for large graphs. Small graphs keep the richer force behavior; large graphs use bounded sampled repulsion so opening the Graph view does not monopolize the WebView main thread.
Known caveats
- The watcher is delayed, not yet fully scope-planned. 0.13.0 is expected to replace recursive whole-repo watching with a shared indexing scope model.
- Graph snapshots and persisted layout are planned but not yet shipped. Today the graph still derives from indexed project state at view time.
- Large repositories should still configure Flynt indexing scopes deliberately when they want Flynt to mutate frontmatter or manage typed project files.
0.13.0 direction
The next scale milestone is to make every expensive project operation explicit, scoped, cancellable, and progress-reporting. The design direction covers staged startup, incremental indexing with backpressure, scoped watching, graph snapshots, progressive rendering, and synthetic scale regression tests.