|
|
Line 3: |
Line 3: |
| == Branches and Languages == | | == Branches and Languages == |
|
| |
|
| <graph>
| | * Proto-Besokian |
| {
| | ** Old Besokian* |
| "width": 100%,
| | ** Proto-Soskish |
| <!--"height": 150,-->
| | *** Old Western Soskish |
| "background": "#ffffff",
| | **** New Western Soskish |
| "data": [
| | ***** Lécaronian |
| {
| | ***** Sildinian |
| "name": "tree",
| | *** Old Eastern Soskish † |
| "values": [
| | **** → Old Iilish |
| {"A": "Proto-Besokian","B": "Old Besokian*"},
| | ***** Iilish |
| {"A": "Proto-Besokian","B": "Proto-Soskish","C":"Old Western Soskish","D":New Western Soskish","E":"Lécaronian"},
| | *** Old Thárian Soskish |
| {"A": "Proto-Besokian","B": "Proto-Soskish","C":"Old Western Soskish","D":New Western Soskish","E":"Sildinian"},
| | **** Thárian Soskish |
| {"A": "Proto-Besokian","B": "Proto-Soskish","C":"Old Eastern Soskish †","D":"Old Iilish","E":"Iilish"},
| | ** Proto-Kattasi |
| {"A": "Proto-Besokian","B": "Proto-Soskish","C":"Old Thárian Soskish","D":"Thárian Soskish"},
| | *** Ciswattian Kattasi (Kattasi Proper) |
| {"A": "Proto-Besokian","B": "Proto-Kattasi","C":"Ciswattian Kattasi (Kattasi Proper)","D":"Old Lenkewellan","E":"Classical Lenkwellan †"},
| | **** Old Lenkwellian |
| ],
| | ***** Classical Lenkwellian † |
| "transform": [
| | **** Common Western Kattasi |
| {
| | ***** (Three Dialects) |
| "type": "treeify",
| | *** Transwattian Kattasi (Oshalian) |
| "groupby": ["A","B","C","D","E"]
| | **** Old Terian |
| },
| | ***** Scripture Terian* |
| {
| | ***** Modern Terian |
| "type": "hierarchy",
| | **** Archaic Dermonian |
| "mode": "cluster",
| | ***** Old Dermonian |
| "nodesize": [20,100]
| | ****** Classical Dermonian |
| },
| | ******* New Dermonian |
| {
| | ******** Late Dermonian |
| "type": "formula",
| | ***** Old Yamenaic |
| "field": "align",
| | ****** Primitive Oshalian |
| "expr": "'right'"
| | ******* Oshalian (Proper) † |
| },
| | ****** Northern Yamenaic † |
| {
| | ****** Southern Yamenaic † |
| "type": "formula",
| | ** Primitive Reknayan |
| "field": "offset",
| | *** Old Reknayan |
| "expr": "-10"
| | **** Classical Reknayan |
| }
| | ***** Book Reknayan* |
| ]
| | ***** Middle Reknayan |
| }
| | ****** Modern Reknayan |
| ],
| |
| "marks": [
| |
| {
| |
| "type": "path",
| |
| "from": {
| |
| "data": "tree",
| |
| "transform": [
| |
| {"type": "filter","test": "datum.parent"},
| |
| {
| |
| "type": "linkpath",
| |
| "sourceX": "parent.layout_y",
| |
| "sourceY": "parent.layout_x",
| |
| "targetX": "layout_y",
| |
| "targetY": "layout_x",
| |
| "shape": "cornerX"
| |
| }
| |
| ]
| |
| },
| |
| "properties": {
| |
| "enter": {
| |
| "path": {"field": "layout_path"},
| |
| "strokeWidth": {"value": 2},
| |
| "stroke": {"value": "#000000"}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "text",
| |
| "from": {
| |
| "data": "tree",
| |
| "transform": [
| |
| {
| |
| "type": "formula",
| |
| "field": "ff_node_label",
| |
| "expr": "if(datum.layout_depth == 0, 'Animals', if(datum.layout_depth == 1, datum.A, if(datum.layout_depth == 2, datum.B, if(datum.layout_depth == 3, datum.C, ''))))"
| |
| }
| |
| ]
| |
| },
| |
| "properties": {
| |
| "enter": {
| |
| "x": {"field": "layout_y"},
| |
| "dx": {"field": "offset"},
| |
| "y": {"field": "layout_x"},
| |
| "dy": {"value": -8},
| |
| "font": {"value": "Arial"},
| |
| "fontSize": {"value": 16},
| |
| "align": {"field": "align"},
| |
| "baseline": {"value": "middle"},
| |
| "fill": {"value": "#0000ff"},
| |
| "text": {"field": "ff_node_label"}
| |
| }
| |
| }
| |
| }
| |
| ]
| |
| }
| |
| </graph>
| |
|
| |
|
| == History == | | == History == |