Not ported: k-connectivity, Gomory-Hu edge connectivity, SVG/PDF output, -window cropping, weighted visuals
- Dominant language
- Python
- Stars
- 8
- Forks
- 0
- Avg merge
- 6h 10m
- Merged PRs (30d)
- 16
Description
Found by the September 2026 comparison against the C++ sources (see docs/migration-from-cpp.md on branch docs/legacy-heritage (PR #17)). Tracking issue for whole features of LaNet-vi 3.0.1 with no Python equivalent; split into separate issues when scheduled.
- **k-connectivity** (`-kconn`, `-kconntype strict|wide`; `graph_kcores_components.cpp` computeKConnectivityWide/Strict): walks clusters from the top shell down, seeds with a cluster of contracted diameter ≤ 2 (wide also accepts min-cut ≥ shell), attaches clusters by frontier/φ conditions; non-k-connected nodes are recoloured (and drawn as cubes in bw) and `log/kconn.log` is written. This was a headline feature of the NJP 2008 paper and of "Understanding edge connectivity in the Internet through core decomposition" (Internet Mathematics 2011).
- **Gomory-Hu edge connectivity** (`-connectivity`, `-innerConnectivity`; `connectivity.cpp`, `ff_routine.cpp`): cut tree with unit-capacity Ford-Fulkerson, all-pairs connectivity aggregated by (min shell, flow), per-layer variant. NetworkX has `gomory_hu_tree`, so this is mostly glue plus the aggregation logs.
- **SVG output and PDF via rsvg** (`svg.cpp`, `svg_renderer.cpp`), **POV-Ray** (`povray.cpp`): matplotlib can save SVG/PDF, but the C++ scene semantics (fixed viewBox from u·2·gamma·R with 1.6:1.2 aspect, pale component fills, stroke = 2×diameter) are not reproduced.
- **`-window hstart hend vstart vend`** viewport cropping and exact `-W`/`-H` framing.
- **Weighted-graph visuals**: strength-based node radius, weight-based edge width, strength degree legend (`graphics_kcores.cpp`).
- **`-fromlayer`**: induced subgraph of index ≥ k, cores recomputed with the parent p-function, then the normal pipeline (tracked under the CLI/config issue as an inert option).
- Deliberately not ported (fine): `-java` viewer, `-onlygraphic`/`-nographic`, `-net` (never implemented in C++ either), `-coresfile` (dead in C++; the real artefact was `log/cores.log` in ` ` order).
Contributor guide
Research direction
Start with docs/migration-from-cpp.md on branch docs/legacy-heritage and compare one listed feature with its named C++ sources, such as graph_kcores_components.cpp, connectivity.cpp, or svg_renderer.cpp. This tracking issue should first be narrowed to a single feature; done means its Python behavior, output, logs, and CLI options match the stated requirements, with focused validation added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, matplotlib, python
- Domain
- cli, data-visualization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100