Feature Request — Variety-Relatedness Network Graphs & Geographic Dialect Maps (SIL Cog methods)
Author: drafted from the 2026-05-30 SK analysis session
Status: Feature request / design spec (pre-MC).
Related: consumes the similarity matrix (similarity/lexicostatistics issue); complements the
tree issue. Both are visualization layers over the same data.
Source: SIL Cog (network graphs + geographical maps — software.sil.org/cog; wiki/README),
verified 2026-05.
1. Summary
Two SIL-Cog relatedness visualizations, grouped here because both render the variety similarity
matrix spatially rather than as a tree:
- (A) Network graph — varieties as nodes, edges weighted/threshold-filtered by similarity, so
reticulation and dialect-continuum structure (which a strict tree hides) is visible.
- (B) Geographic dialect map — varieties plotted at their fieldwork coordinates, with
similarity shown via edges/colour/isoglosses, so relatedness can be read against geography.
2. Motivation
- Dialect data is often a continuum, not a clean tree; a network graph shows the gradient and
the conflicting signals a dendrogram forces into a hierarchy.
- A geographic map ties the linguistic similarity to where the speakers are — central to a
dialectology thesis and immediately interpretable.
- Both are standard Cog outputs and low-risk once the similarity matrix (separate issue) exists.
3. Method (verified from Cog)
- Network graph: nodes = varieties; edge between two varieties drawn when similarity ≥ a
user threshold (or all edges, weighted). Layout = force-directed; edge thickness/colour = degree
of similarity. (Cog "network graphs.")
- Geographic map: place each variety at its lat/long; overlay similarity as connecting
edges and/or colour gradient; optional isogloss overlays for individual features. (Cog
"geographical maps.")
4. Inputs / outputs
Input: similarity matrix (from variety_similarity) + per-speaker geographic coordinates
(new metadata — see edge cases).
Output: a graph JSON (nodes + weighted edges) for the network; a geo JSON (points + edges)
for the map. Both renderable client-side and exportable (SVG/PNG; GeoJSON for the map).
5. Backend surface
variety_network(measure, threshold, config) → nodes + weighted edges.
variety_geo(measure, config) → points (speaker + coords) + similarity edges.
- Reuse
variety_similarity; chat tool + REST routes.
6. UI
- Network: force-directed graph in an analysis view; threshold slider; toggle measure.
- Map: base map with speaker pins; similarity edges/colour; per-feature isogloss toggle (optional,
v2). Unit-testable data layer (assert node/edge sets); visual confirmation left to Lucas
(agent screenshot ban).
7. Edge cases
- Coordinates are new data PARSE may not store yet — needs a per-speaker lat/long field
(speakers.json / project metadata). If absent, the map degrades gracefully (network still works);
flag missing coords. This is the main dependency to confirm.
- Threshold extremes (all/no edges) handled.
- Low-N pairs de-emphasised.
- Survey-overlap dedup inherited from the similarity layer.
8. Acceptance criteria
variety_network returns a threshold-filtered weighted graph over the 10 SK varieties.
variety_geo returns points+edges when coordinates exist; degrades cleanly when they don't.
- Network + map render in an analysis view; data layers unit-tested; exports valid.
- These are exploratory visualizations, not the thesis phylogeny (same caveat as the tree issue).
9. Open question
- Does PARSE already store per-speaker geographic coordinates? If not, a small precursor task is
needed to capture lat/long per speaker (or the map half is deferred and only the network ships).
10. References
- SIL Cog — network graphs + geographical maps (software.sil.org/cog; wiki/README).
- Dialectometry / dialect-continuum visualization (standard practice).
- (NeighborNet / SplitsTree as a richer future reticulation option, if ever wanted.)
Feature Request — Variety-Relatedness Network Graphs & Geographic Dialect Maps (SIL Cog methods)
Author: drafted from the 2026-05-30 SK analysis session
Status: Feature request / design spec (pre-MC).
Related: consumes the similarity matrix (similarity/lexicostatistics issue); complements the
tree issue. Both are visualization layers over the same data.
Source: SIL Cog (network graphs + geographical maps — software.sil.org/cog; wiki/README),
verified 2026-05.
1. Summary
Two SIL-Cog relatedness visualizations, grouped here because both render the variety similarity
matrix spatially rather than as a tree:
reticulation and dialect-continuum structure (which a strict tree hides) is visible.
similarity shown via edges/colour/isoglosses, so relatedness can be read against geography.
2. Motivation
the conflicting signals a dendrogram forces into a hierarchy.
dialectology thesis and immediately interpretable.
3. Method (verified from Cog)
user threshold (or all edges, weighted). Layout = force-directed; edge thickness/colour = degree
of similarity. (Cog "network graphs.")
edges and/or colour gradient; optional isogloss overlays for individual features. (Cog
"geographical maps.")
4. Inputs / outputs
Input: similarity matrix (from
variety_similarity) + per-speaker geographic coordinates(new metadata — see edge cases).
Output: a graph JSON (nodes + weighted edges) for the network; a geo JSON (points + edges)
for the map. Both renderable client-side and exportable (SVG/PNG; GeoJSON for the map).
5. Backend surface
variety_network(measure, threshold, config)→ nodes + weighted edges.variety_geo(measure, config)→ points (speaker + coords) + similarity edges.variety_similarity; chat tool + REST routes.6. UI
v2). Unit-testable data layer (assert node/edge sets); visual confirmation left to Lucas
(agent screenshot ban).
7. Edge cases
(speakers.json / project metadata). If absent, the map degrades gracefully (network still works);
flag missing coords. This is the main dependency to confirm.
8. Acceptance criteria
variety_networkreturns a threshold-filtered weighted graph over the 10 SK varieties.variety_georeturns points+edges when coordinates exist; degrades cleanly when they don't.9. Open question
needed to capture lat/long per speaker (or the map half is deferred and only the network ships).
10. References