diff --git a/demos/atlas/maps/africa.json b/demos/atlas/maps/africa.json index b28da5d..d0f3951 100644 --- a/demos/atlas/maps/africa.json +++ b/demos/atlas/maps/africa.json @@ -1 +1,900 @@ -{"nodes": {"Mauritania": {"borders": 4, "length": 5074.0}, "Sudan": {"borders": 9, "length": 7687.0}, "Guinea": {"borders": 6, "length": 3399.0}, "Ethiopia": {"borders": 5, "length": 5328.0}, "The Gambia": {"borders": 1, "length": 740.0}, "Rwanda": {"borders": 4, "length": 893.0}, "Somalia": {"borders": 3, "length": 2340.0}, "Swaziland": {"borders": 2, "length": 535.0}, "Nigeria": {"borders": 4, "length": 4047.0}, "Cameroon": {"borders": 6, "length": 4591.0}, "Malawi": {"borders": 3, "length": 2881.0}, "Benin": {"borders": 4, "length": 1989.0}, "Ghana": {"borders": 3, "length": 2094.0}, "Algeria": {"borders": 7, "length": 6343.0}, "Zambia": {"borders": 8, "length": 5667.0}, "Republic of The Congo": {"borders": 5, "length": 5504.0}, "Burkina Faso": {"borders": 6, "length": 3193.0}, "Gabon": {"borders": 3, "length": 2551.0}, "Togo": {"borders": 3, "length": 1647.0}, "Eritrea": {"borders": 3, "length": 1626.0}, "Zimbabwe": {"borders": 4, "length": 3066.0}, "Senegal": {"borders": 5, "length": 2640.0}, "Sierra Leone": {"borders": 2, "length": 958.0}, "Liberia": {"borders": 3, "length": 1585.0}, "Libya": {"borders": 6, "length": 4348.0}, "D.R. Congo": {"borders": 10, "length": 10730.0}, "Tanzania": {"borders": 8, "length": 3861.0}, "Central African Republic": {"borders": 5, "length": 5203.0}, "Morocco": {"borders": 5, "length": 2018.0}, "Namibia": {"borders": 4, "length": 3936.0}, "Guinea-Bissau": {"borders": 2, "length": 724.0}, "Mali": {"borders": 7, "length": 7243.0}, "Angola": {"borders": 5, "length": 5198.0}, "Chad": {"borders": 6, "length": 5968.0}, "South Africa": {"borders": 6, "length": 4862.0}, "Egypt": {"borders": 4, "length": 2665.0}, "C\u00f4te d'Ivoire": {"borders": 5, "length": 3110.0}, "Equatorial Guinea": {"borders": 2, "length": 539.0}, "Lesotho": {"borders": 1, "length": 909.0}, "Djibouti": {"borders": 3, "length": 516.0}, "Mozambique": {"borders": 6, "length": 4571.0}, "Tunisia": {"borders": 2, "length": 1424.0}, "Uganda": {"borders": 5, "length": 2698.0}, "Burundi": {"borders": 3, "length": 974.0}, "Kenya": {"borders": 5, "length": 3477.0}, "Niger": {"borders": 7, "length": 5697.0}, "Botswana": {"borders": 4, "length": 4015.0}}, "edges": {"Mauritania": {"Senegal": {"border": 813}, "Algeria": {"border": 463}, "Mali": {"border": 237}}, "Sudan": {"Eritrea": {"border": 605}, "Libya": {"border": 383}, "Chad": {"border": 360}, "D.R. Congo": {"border": 628}, "Egypt": {"border": 273}, "Central African Republic": {"border": 165}, "Ethiopia": {"border": 606}, "Uganda": {"border": 435}, "Kenya": {"border": 232}}, "Guinea": {"Liberia": {"border": 563}, "C\u00f4te d'Ivoire": {"border": 610}, "Senegal": {"border": 330}, "Guinea-Bissau": {"border": 386}, "Mali": {"border": 858}, "Sierra Leone": {"border": 652}}, "Ethiopia": {"Sudan": {"border": 606}, "Eritrea": {"border": 912}, "Djibouti": {"border": 349}, "Somalia": {"border": 600}, "Kenya": {"border": 861}}, "The Gambia": {"Senegal": {"border": 740}}, "Rwanda": {"Burundi": {"border": 290}, "D.R. Congo": {"border": 217}, "Tanzania": {"border": 217}, "Uganda": {"border": 169}}, "Somalia": {"Ethiopia": {"border": 600}, "Djibouti": {"border": 58}, "Kenya": {"border": 682}}, "Swaziland": {"Mozambique": {"border": 105}, "South Africa": {"border": 430}}, "Nigeria": {"Niger": {"border": 497}, "Cameroon": {"border": 690}, "Chad": {"border": 87}, "Benin": {"border": 773}}, "Cameroon": {"Chad": {"border": 94}, "Equatorial Guinea": {"border": 189}, "Republic of The Congo": {"border": 523}, "Central African Republic": {"border": 797}, "Gabon": {"border": 298}, "Nigeria": {"border": 690}}, "Malawi": {"Tanzania": {"border": 475}, "Mozambique": {"border": 569}, "Zambia": {"border": 837}}, "Benin": {"Togo": {"border": 644}, "Niger": {"border": 266}, "Burkina Faso": {"border": 306}, "Nigeria": {"border": 773}}, "Ghana": {"Togo": {"border": 877}, "C\u00f4te d'Ivoire": {"border": 668}, "Burkina Faso": {"border": 549}}, "Algeria": {"Mauritania": {"border": 463}, "Libya": {"border": 982}, "Tunisia": {"border": 965}, "Morocco": {"border": 559}, "Mali": {"border": 376}, "Niger": {"border": 956}}, "Zambia": {"Angola": {"border": 111}, "Tanzania": {"border": 338}, "Botswana": {"border": 2}, "D.R. Congo": {"border": 930}, "Zimbabwe": {"border": 797}, "Namibia": {"border": 233}, "Mozambique": {"border": 419}, "Malawi": {"border": 837}}, "Republic of The Congo": {"D.R. Congo": {"border": 410}, "Cameroon": {"border": 523}, "Gabon": {"border": 903}, "Angola": {"border": 201}, "Central African Republic": {"border": 467}}, "Burkina Faso": {"Ghana": {"border": 549}, "C\u00f4te d'Ivoire": {"border": 584}, "Togo": {"border": 126}, "Mali": {"border": 0}, "Niger": {"border": 628}, "Benin": {"border": 306}}, "Gabon": {"Cameroon": {"border": 298}, "Republic of The Congo": {"border": 903}, "Equatorial Guinea": {"border": 350}}, "Togo": {"Ghana": {"border": 877}, "Burkina Faso": {"border": 126}, "Benin": {"border": 644}}, "Eritrea": {"Sudan": {"border": 605}, "Ethiopia": {"border": 912}, "Djibouti": {"border": 109}}, "Zimbabwe": {"Zambia": {"border": 797}, "Mozambique": {"border": 231}, "Botswana": {"border": 813}, "South Africa": {"border": 225}}, "Senegal": {"Mauritania": {"border": 813}, "The Gambia": {"border": 740}, "Mali": {"border": 419}, "Guinea-Bissau": {"border": 338}, "Guinea": {"border": 330}}, "Sierra Leone": {"Guinea": {"border": 652}, "Liberia": {"border": 306}}, "Liberia": {"Guinea": {"border": 563}, "C\u00f4te d'Ivoire": {"border": 716}, "Sierra Leone": {"border": 306}}, "Libya": {"Algeria": {"border": 982}, "Chad": {"border": 55}, "Egypt": {"border": 115}, "Sudan": {"border": 383}, "Tunisia": {"border": 459}, "Niger": {"border": 354}}, "D.R. Congo": {"Angola": {"border": 11}, "Sudan": {"border": 628}, "Tanzania": {"border": 459}, "Central African Republic": {"border": 577}, "Republic of The Congo": {"border": 410}, "Rwanda": {"border": 217}, "Uganda": {"border": 765}, "Burundi": {"border": 233}, "Zambia": {"border": 930}}, "Tanzania": {"Zambia": {"border": 338}, "D.R. Congo": {"border": 459}, "Rwanda": {"border": 217}, "Mozambique": {"border": 756}, "Uganda": {"border": 396}, "Burundi": {"border": 451}, "Kenya": {"border": 769}, "Malawi": {"border": 475}}, "Central African Republic": {"Sudan": {"border": 165}, "D.R. Congo": {"border": 577}, "Cameroon": {"border": 797}, "Republic of The Congo": {"border": 467}, "Chad": {"border": 197}}, "Morocco": {"Algeria": {"border": 559}}, "Namibia": {"Zambia": {"border": 233}, "Angola": {"border": 376}, "Botswana": {"border": 360}, "South Africa": {"border": 967}}, "Guinea-Bissau": {"Guinea": {"border": 386}, "Senegal": {"border": 338}}, "Mali": {"Mauritania": {"border": 237}, "Algeria": {"border": 376}, "Guinea": {"border": 858}, "C\u00f4te d'Ivoire": {"border": 532}, "Senegal": {"border": 419}, "Niger": {"border": 821}, "Burkina Faso": {"border": 0}}, "Angola": {"D.R. Congo": {"border": 11}, "Zambia": {"border": 110}, "Namibia": {"border": 376}, "Republic of The Congo": {"border": 201}}, "Chad": {"Libya": {"border": 55}, "Sudan": {"border": 360}, "Central African Republic": {"border": 197}, "Niger": {"border": 175}, "Cameroon": {"border": 94}, "Nigeria": {"border": 87}}, "South Africa": {"Lesotho": {"border": 909}, "Zimbabwe": {"border": 225}, "Namibia": {"border": 967}, "Swaziland": {"border": 430}, "Mozambique": {"border": 491}, "Botswana": {"border": 840}}, "Egypt": {"Sudan": {"border": 273}, "Libya": {"border": 115}}, "C\u00f4te d'Ivoire": {"Ghana": {"border": 668}, "Guinea": {"border": 610}, "Burkina Faso": {"border": 584}, "Liberia": {"border": 716}, "Mali": {"border": 532}}, "Equatorial Guinea": {"Cameroon": {"border": 189}, "Gabon": {"border": 350}}, "Lesotho": {"South Africa": {"border": 909}}, "Djibouti": {"Eritrea": {"border": 109}, "Somalia": {"border": 58}, "Ethiopia": {"border": 349}}, "Mozambique": {"South Africa": {"border": 491}, "Tanzania": {"border": 756}, "Malawi": {"border": 569}, "Zimbabwe": {"border": 231}, "Swaziland": {"border": 105}, "Zambia": {"border": 419}}, "Tunisia": {"Algeria": {"border": 965}, "Libya": {"border": 459}}, "Uganda": {"Sudan": {"border": 435}, "D.R. Congo": {"border": 765}, "Tanzania": {"border": 396}, "Rwanda": {"border": 169}, "Kenya": {"border": 933}}, "Burundi": {"D.R. Congo": {"border": 233}, "Tanzania": {"border": 451}, "Rwanda": {"border": 290}}, "Kenya": {"Sudan": {"border": 232}, "Ethiopia": {"border": 861}, "Tanzania": {"border": 769}, "Somalia": {"border": 682}, "Uganda": {"border": 933}}, "Niger": {"Libya": {"border": 354}, "Algeria": {"border": 956}, "Chad": {"border": 175}, "Mali": {"border": 821}, "Nigeria": {"border": 497}, "Burkina Faso": {"border": 628}, "Benin": {"border": 266}}, "Botswana": {"Zambia": {"border": 2}, "Zimbabwe": {"border": 813}, "Namibia": {"border": 360}, "South Africa": {"border": 840}}}} \ No newline at end of file +{ + "nodes": { + "Eritrea": { + "borders": 3, + "length": 1626.0 + }, + "Sudan": { + "borders": 9, + "length": 7687.0 + }, + "Guinea": { + "borders": 6, + "length": 3399.0 + }, + "Ethiopia": { + "borders": 5, + "length": 5328.0 + }, + "The Gambia": { + "borders": 1, + "length": 740.0 + }, + "Rwanda": { + "borders": 4, + "length": 893.0 + }, + "Somalia": { + "borders": 3, + "length": 2340.0 + }, + "Swaziland": { + "borders": 2, + "length": 535.0 + }, + "Nigeria": { + "borders": 4, + "length": 4047.0 + }, + "Cameroon": { + "borders": 6, + "length": 4591.0 + }, + "Burkina Faso": { + "borders": 6, + "length": 3193.0 + }, + "Kenya": { + "borders": 5, + "length": 3477.0 + }, + "Benin": { + "borders": 4, + "length": 1989.0 + }, + "Ghana": { + "borders": 3, + "length": 2094.0 + }, + "Libya": { + "borders": 6, + "length": 4348.0 + }, + "Algeria": { + "borders": 7, + "length": 6343.0 + }, + "Zambia": { + "borders": 8, + "length": 5667.0 + }, + "Djibouti": { + "borders": 3, + "length": 516.0 + }, + "Malawi": { + "borders": 3, + "length": 2881.0 + }, + "Togo": { + "borders": 3, + "length": 1647.0 + }, + "Zimbabwe": { + "borders": 4, + "length": 3066.0 + }, + "Sierra Leone": { + "borders": 2, + "length": 958.0 + }, + "Mauritania": { + "borders": 4, + "length": 5074.0 + }, + "Liberia": { + "borders": 3, + "length": 1585.0 + }, + "Tanzania": { + "borders": 8, + "length": 3861.0 + }, + "Republic of The Congo": { + "borders": 5, + "length": 5504.0 + }, + "D.R. Congo": { + "borders": 10, + "length": 10730.0 + }, + "Central African Republic": { + "borders": 5, + "length": 5203.0 + }, + "Morocco": { + "borders": 5, + "length": 2018.0 + }, + "Gabon": { + "borders": 3, + "length": 2551.0 + }, + "Guinea-Bissau": { + "borders": 2, + "length": 724.0 + }, + "Mali": { + "borders": 7, + "length": 7243.0 + }, + "C\u00f4te d'Ivoire": { + "borders": 5, + "length": 3110.0 + }, + "Angola": { + "borders": 5, + "length": 5198.0 + }, + "Chad": { + "borders": 6, + "length": 5968.0 + }, + "South Africa": { + "borders": 6, + "length": 4862.0 + }, + "Egypt": { + "borders": 4, + "length": 2665.0 + }, + "Equatorial Guinea": { + "borders": 2, + "length": 539.0 + }, + "Lesotho": { + "borders": 1, + "length": 909.0 + }, + "Senegal": { + "borders": 5, + "length": 2640.0 + }, + "Mozambique": { + "borders": 6, + "length": 4571.0 + }, + "Tunisia": { + "borders": 2, + "length": 1424.0 + }, + "Uganda": { + "borders": 5, + "length": 2698.0 + }, + "Burundi": { + "borders": 3, + "length": 974.0 + }, + "Namibia": { + "borders": 4, + "length": 3936.0 + }, + "Niger": { + "borders": 7, + "length": 5697.0 + }, + "Botswana": { + "borders": 4, + "length": 4015.0 + } + }, + "edges": { + "Eritrea": { + "Sudan": { + "border": 605 + }, + "Ethiopia": { + "border": 912 + }, + "Djibouti": { + "border": 109 + } + }, + "Sudan": { + "Eritrea": { + "border": 605 + }, + "Libya": { + "border": 383 + }, + "Chad": { + "border": 360 + }, + "Egypt": { + "border": 273 + }, + "Central African Republic": { + "border": 165 + }, + "D.R. Congo": { + "border": 628 + }, + "Ethiopia": { + "border": 606 + }, + "Uganda": { + "border": 435 + }, + "Kenya": { + "border": 232 + } + }, + "Guinea": { + "Liberia": { + "border": 563 + }, + "Senegal": { + "border": 330 + }, + "Guinea-Bissau": { + "border": 386 + }, + "Mali": { + "border": 858 + }, + "C\u00f4te d'Ivoire": { + "border": 610 + }, + "Sierra Leone": { + "border": 652 + } + }, + "Ethiopia": { + "Sudan": { + "border": 606 + }, + "Eritrea": { + "border": 912 + }, + "Djibouti": { + "border": 349 + }, + "Somalia": { + "border": 600 + }, + "Kenya": { + "border": 861 + } + }, + "The Gambia": { + "Senegal": { + "border": 740 + } + }, + "Rwanda": { + "Burundi": { + "border": 290 + }, + "Tanzania": { + "border": 217 + }, + "Uganda": { + "border": 169 + }, + "D.R. Congo": { + "border": 217 + } + }, + "Somalia": { + "Ethiopia": { + "border": 600 + }, + "Djibouti": { + "border": 58 + }, + "Kenya": { + "border": 682 + } + }, + "Swaziland": { + "Mozambique": { + "border": 105 + }, + "South Africa": { + "border": 430 + } + }, + "Nigeria": { + "Niger": { + "border": 497 + }, + "Cameroon": { + "border": 690 + }, + "Chad": { + "border": 87 + }, + "Benin": { + "border": 773 + } + }, + "Cameroon": { + "Chad": { + "border": 94 + }, + "Equatorial Guinea": { + "border": 189 + }, + "Central African Republic": { + "border": 797 + }, + "Republic of The Congo": { + "border": 523 + }, + "Gabon": { + "border": 298 + }, + "Nigeria": { + "border": 690 + } + }, + "Burkina Faso": { + "Ghana": { + "border": 549 + }, + "Togo": { + "border": 126 + }, + "Mali": { + "border": 0 + }, + "Niger": { + "border": 628 + }, + "C\u00f4te d'Ivoire": { + "border": 584 + }, + "Benin": { + "border": 306 + } + }, + "Kenya": { + "Sudan": { + "border": 232 + }, + "Ethiopia": { + "border": 861 + }, + "Tanzania": { + "border": 769 + }, + "Somalia": { + "border": 682 + }, + "Uganda": { + "border": 933 + } + }, + "Benin": { + "Togo": { + "border": 644 + }, + "Niger": { + "border": 266 + }, + "Burkina Faso": { + "border": 306 + }, + "Nigeria": { + "border": 773 + } + }, + "Ghana": { + "Togo": { + "border": 877 + }, + "C\u00f4te d'Ivoire": { + "border": 668 + }, + "Burkina Faso": { + "border": 549 + } + }, + "Libya": { + "Algeria": { + "border": 982 + }, + "Chad": { + "border": 55 + }, + "Egypt": { + "border": 115 + }, + "Sudan": { + "border": 383 + }, + "Tunisia": { + "border": 459 + }, + "Niger": { + "border": 354 + } + }, + "Algeria": { + "Mauritania": { + "border": 463 + }, + "Libya": { + "border": 982 + }, + "Tunisia": { + "border": 965 + }, + "Morocco": { + "border": 559 + }, + "Mali": { + "border": 376 + }, + "Niger": { + "border": 956 + } + }, + "Zambia": { + "Angola": { + "border": 111 + }, + "Tanzania": { + "border": 338 + }, + "D.R. Congo": { + "border": 930 + }, + "Malawi": { + "border": 837 + }, + "Zimbabwe": { + "border": 797 + }, + "Namibia": { + "border": 233 + }, + "Mozambique": { + "border": 419 + }, + "Botswana": { + "border": 2 + } + }, + "Djibouti": { + "Eritrea": { + "border": 109 + }, + "Somalia": { + "border": 58 + }, + "Ethiopia": { + "border": 349 + } + }, + "Malawi": { + "Tanzania": { + "border": 475 + }, + "Mozambique": { + "border": 569 + }, + "Zambia": { + "border": 837 + } + }, + "Togo": { + "Ghana": { + "border": 877 + }, + "Burkina Faso": { + "border": 126 + }, + "Benin": { + "border": 644 + } + }, + "Zimbabwe": { + "Zambia": { + "border": 797 + }, + "Mozambique": { + "border": 231 + }, + "Botswana": { + "border": 813 + }, + "South Africa": { + "border": 225 + } + }, + "Sierra Leone": { + "Guinea": { + "border": 652 + }, + "Liberia": { + "border": 306 + } + }, + "Mauritania": { + "Senegal": { + "border": 813 + }, + "Algeria": { + "border": 463 + }, + "Mali": { + "border": 237 + } + }, + "Liberia": { + "Guinea": { + "border": 563 + }, + "C\u00f4te d'Ivoire": { + "border": 716 + }, + "Sierra Leone": { + "border": 306 + } + }, + "Tanzania": { + "Zambia": { + "border": 338 + }, + "D.R. Congo": { + "border": 459 + }, + "Rwanda": { + "border": 217 + }, + "Mozambique": { + "border": 756 + }, + "Uganda": { + "border": 396 + }, + "Burundi": { + "border": 451 + }, + "Kenya": { + "border": 769 + }, + "Malawi": { + "border": 475 + } + }, + "Republic of The Congo": { + "Gabon": { + "border": 903 + }, + "Cameroon": { + "border": 523 + }, + "Angola": { + "border": 201 + }, + "D.R. Congo": { + "border": 410 + }, + "Central African Republic": { + "border": 467 + } + }, + "D.R. Congo": { + "Angola": { + "border": 11 + }, + "Sudan": { + "border": 628 + }, + "Tanzania": { + "border": 459 + }, + "Central African Republic": { + "border": 577 + }, + "Republic of The Congo": { + "border": 410 + }, + "Rwanda": { + "border": 217 + }, + "Uganda": { + "border": 765 + }, + "Burundi": { + "border": 233 + }, + "Zambia": { + "border": 930 + } + }, + "Central African Republic": { + "Sudan": { + "border": 165 + }, + "Chad": { + "border": 197 + }, + "Cameroon": { + "border": 797 + }, + "Republic of The Congo": { + "border": 467 + }, + "D.R. Congo": { + "border": 577 + } + }, + "Morocco": { + "Algeria": { + "border": 559 + } + }, + "Gabon": { + "Cameroon": { + "border": 298 + }, + "Republic of The Congo": { + "border": 903 + }, + "Equatorial Guinea": { + "border": 350 + } + }, + "Guinea-Bissau": { + "Guinea": { + "border": 386 + }, + "Senegal": { + "border": 338 + } + }, + "Mali": { + "Mauritania": { + "border": 237 + }, + "Algeria": { + "border": 376 + }, + "Guinea": { + "border": 858 + }, + "Senegal": { + "border": 419 + }, + "Niger": { + "border": 821 + }, + "C\u00f4te d'Ivoire": { + "border": 532 + }, + "Burkina Faso": { + "border": 0 + } + }, + "C\u00f4te d'Ivoire": { + "Ghana": { + "border": 668 + }, + "Guinea": { + "border": 610 + }, + "Mali": { + "border": 532 + }, + "Burkina Faso": { + "border": 584 + }, + "Liberia": { + "border": 716 + } + }, + "Angola": { + "Zambia": { + "border": 110 + }, + "Namibia": { + "border": 376 + }, + "Republic of The Congo": { + "border": 201 + }, + "D.R. Congo": { + "border": 11 + } + }, + "Chad": { + "Libya": { + "border": 55 + }, + "Sudan": { + "border": 360 + }, + "Central African Republic": { + "border": 197 + }, + "Niger": { + "border": 175 + }, + "Cameroon": { + "border": 94 + }, + "Nigeria": { + "border": 87 + } + }, + "South Africa": { + "Lesotho": { + "border": 909 + }, + "Zimbabwe": { + "border": 225 + }, + "Namibia": { + "border": 967 + }, + "Swaziland": { + "border": 430 + }, + "Mozambique": { + "border": 491 + }, + "Botswana": { + "border": 840 + } + }, + "Egypt": { + "Sudan": { + "border": 273 + }, + "Libya": { + "border": 115 + } + }, + "Equatorial Guinea": { + "Gabon": { + "border": 350 + }, + "Cameroon": { + "border": 189 + } + }, + "Lesotho": { + "South Africa": { + "border": 909 + } + }, + "Senegal": { + "Mauritania": { + "border": 813 + }, + "The Gambia": { + "border": 740 + }, + "Guinea": { + "border": 330 + }, + "Guinea-Bissau": { + "border": 338 + }, + "Mali": { + "border": 419 + } + }, + "Mozambique": { + "South Africa": { + "border": 491 + }, + "Tanzania": { + "border": 756 + }, + "Malawi": { + "border": 569 + }, + "Zimbabwe": { + "border": 231 + }, + "Swaziland": { + "border": 105 + }, + "Zambia": { + "border": 419 + } + }, + "Tunisia": { + "Libya": { + "border": 459 + }, + "Algeria": { + "border": 965 + } + }, + "Uganda": { + "Sudan": { + "border": 435 + }, + "Kenya": { + "border": 933 + }, + "Tanzania": { + "border": 396 + }, + "Rwanda": { + "border": 169 + }, + "D.R. Congo": { + "border": 765 + } + }, + "Burundi": { + "Tanzania": { + "border": 451 + }, + "Rwanda": { + "border": 290 + }, + "D.R. Congo": { + "border": 233 + } + }, + "Namibia": { + "Zambia": { + "border": 233 + }, + "Angola": { + "border": 376 + }, + "Botswana": { + "border": 360 + }, + "South Africa": { + "border": 967 + } + }, + "Niger": { + "Libya": { + "border": 354 + }, + "Algeria": { + "border": 956 + }, + "Chad": { + "border": 175 + }, + "Mali": { + "border": 821 + }, + "Nigeria": { + "border": 497 + }, + "Burkina Faso": { + "border": 628 + }, + "Benin": { + "border": 266 + } + }, + "Botswana": { + "Zambia": { + "border": 2 + }, + "Zimbabwe": { + "border": 813 + }, + "Namibia": { + "border": 360 + }, + "South Africa": { + "border": 840 + } + } + } +} diff --git a/demos/atlas/maps/america.json b/demos/atlas/maps/america.json index daafe0b..6831044 100644 --- a/demos/atlas/maps/america.json +++ b/demos/atlas/maps/america.json @@ -1 +1,348 @@ -{"nodes": {"Canada": {"borders": 2, "length": 8893.0}, "Brazil": {"borders": 10, "length": 14691.0}, "Peru": {"borders": 5, "length": 5536.0}, "Panama": {"borders": 2, "length": 555.0}, "Costa Rica": {"borders": 2, "length": 639.0}, "Suriname": {"borders": 2, "length": 1707.0}, "Argentina": {"borders": 6, "length": 9665.0}, "Bolivia": {"borders": 5, "length": 6743.0}, "Venezuela": {"borders": 3, "length": 4993.0}, "Ecuador": {"borders": 2, "length": 2010.0}, "El Salvador": {"borders": 2, "length": 545.0}, "Guatemala": {"borders": 4, "length": 1687.0}, "Chile": {"borders": 4, "length": 6171.0}, "Belize": {"borders": 2, "length": 516.0}, "United States": {"borders": 3, "length": 12034.0}, "Guyana": {"borders": 3, "length": 2462.0}, "Honduras": {"borders": 3, "length": 1520.0}, "Uruguay": {"borders": 2, "length": 1564.0}, "Mexico": {"borders": 3, "length": 4353.0}, "Colombia": {"borders": 5, "length": 6004.0}, "Paraguay": {"borders": 3, "length": 3920.0}, "Nicaragua": {"borders": 2, "length": 1231.0}}, "edges": {"Canada": {"United States": {"border": 23}}, "Brazil": {"Suriname": {"border": 597}, "Uruguay": {"border": 985}, "Peru": {"border": 560}, "Colombia": {"border": 643}, "Guyana": {"border": 119}, "Paraguay": {"border": 290}, "Argentina": {"border": 224}, "Bolivia": {"border": 400}, "Venezuela": {"border": 200}}, "Peru": {"Brazil": {"border": 560}, "Bolivia": {"border": 900}, "Colombia": {"border": 496}, "Ecuador": {"border": 420}, "Chile": {"border": 160}}, "Panama": {"Costa Rica": {"border": 330}, "Colombia": {"border": 225}}, "Costa Rica": {"Panama": {"border": 330}, "Nicaragua": {"border": 309}}, "Suriname": {"Brazil": {"border": 597}, "Guyana": {"border": 600}}, "Argentina": {"Brazil": {"border": 224}, "Paraguay": {"border": 880}, "Bolivia": {"border": 832}, "Chile": {"border": 13}, "Uruguay": {"border": 579}}, "Bolivia": {"Brazil": {"border": 400}, "Paraguay": {"border": 750}, "Argentina": {"border": 832}, "Chile": {"border": 861}, "Peru": {"border": 900}}, "Venezuela": {"Brazil": {"border": 200}, "Colombia": {"border": 50}, "Guyana": {"border": 743}}, "Ecuador": {"Colombia": {"border": 590}, "Peru": {"border": 420}}, "El Salvador": {"Guatemala": {"border": 203}, "Honduras": {"border": 342}}, "Guatemala": {"El Salvador": {"border": 203}, "Belize": {"border": 266}, "Honduras": {"border": 256}, "Mexico": {"border": 962}}, "Chile": {"Argentina": {"border": 13}, "Bolivia": {"border": 861}, "Peru": {"border": 160}}, "Belize": {"Guatemala": {"border": 266}, "Mexico": {"border": 250}}, "United States": {"Canada": {"border": 23}, "Mexico": {"border": 141}}, "Guyana": {"Brazil": {"border": 119}, "Venezuela": {"border": 743}, "Suriname": {"border": 600}}, "Honduras": {"El Salvador": {"border": 342}, "Guatemala": {"border": 256}, "Nicaragua": {"border": 922}}, "Uruguay": {"Brazil": {"border": 985}, "Argentina": {"border": 579}}, "Mexico": {"United States": {"border": 141}, "Guatemala": {"border": 962}, "Belize": {"border": 250}}, "Colombia": {"Brazil": {"border": 643}, "Panama": {"border": 225}, "Venezuela": {"border": 50}, "Ecuador": {"border": 590}, "Peru": {"border": 496}}, "Paraguay": {"Brazil": {"border": 290}, "Argentina": {"border": 880}, "Bolivia": {"border": 750}}, "Nicaragua": {"Honduras": {"border": 922}, "Costa Rica": {"border": 309}}}} \ No newline at end of file +{ + "nodes": { + "Canada": { + "borders": 2, + "length": 8893.0 + }, + "Brazil": { + "borders": 10, + "length": 14691.0 + }, + "Peru": { + "borders": 5, + "length": 5536.0 + }, + "Panama": { + "borders": 2, + "length": 555.0 + }, + "Costa Rica": { + "borders": 2, + "length": 639.0 + }, + "Suriname": { + "borders": 2, + "length": 1707.0 + }, + "Argentina": { + "borders": 6, + "length": 9665.0 + }, + "Bolivia": { + "borders": 5, + "length": 6743.0 + }, + "Venezuela": { + "borders": 3, + "length": 4993.0 + }, + "Ecuador": { + "borders": 2, + "length": 2010.0 + }, + "El Salvador": { + "borders": 2, + "length": 545.0 + }, + "Guatemala": { + "borders": 4, + "length": 1687.0 + }, + "Chile": { + "borders": 4, + "length": 6171.0 + }, + "Belize": { + "borders": 2, + "length": 516.0 + }, + "United States": { + "borders": 3, + "length": 12034.0 + }, + "Guyana": { + "borders": 3, + "length": 2462.0 + }, + "Honduras": { + "borders": 3, + "length": 1520.0 + }, + "Uruguay": { + "borders": 2, + "length": 1564.0 + }, + "Mexico": { + "borders": 3, + "length": 4353.0 + }, + "Colombia": { + "borders": 5, + "length": 6004.0 + }, + "Paraguay": { + "borders": 3, + "length": 3920.0 + }, + "Nicaragua": { + "borders": 2, + "length": 1231.0 + } + }, + "edges": { + "Canada": { + "United States": { + "border": 23 + } + }, + "Brazil": { + "Peru": { + "border": 560 + }, + "Suriname": { + "border": 597 + }, + "Uruguay": { + "border": 985 + }, + "Colombia": { + "border": 643 + }, + "Guyana": { + "border": 119 + }, + "Paraguay": { + "border": 290 + }, + "Argentina": { + "border": 224 + }, + "Bolivia": { + "border": 400 + }, + "Venezuela": { + "border": 200 + } + }, + "Peru": { + "Brazil": { + "border": 560 + }, + "Bolivia": { + "border": 900 + }, + "Ecuador": { + "border": 420 + }, + "Colombia": { + "border": 496 + }, + "Chile": { + "border": 160 + } + }, + "Panama": { + "Costa Rica": { + "border": 330 + }, + "Colombia": { + "border": 225 + } + }, + "Costa Rica": { + "Panama": { + "border": 330 + }, + "Nicaragua": { + "border": 309 + } + }, + "Suriname": { + "Brazil": { + "border": 597 + }, + "Guyana": { + "border": 600 + } + }, + "Argentina": { + "Brazil": { + "border": 224 + }, + "Paraguay": { + "border": 880 + }, + "Bolivia": { + "border": 832 + }, + "Chile": { + "border": 13 + }, + "Uruguay": { + "border": 579 + } + }, + "Bolivia": { + "Brazil": { + "border": 400 + }, + "Paraguay": { + "border": 750 + }, + "Argentina": { + "border": 832 + }, + "Peru": { + "border": 900 + }, + "Chile": { + "border": 861 + } + }, + "Venezuela": { + "Brazil": { + "border": 200 + }, + "Colombia": { + "border": 50 + }, + "Guyana": { + "border": 743 + } + }, + "Ecuador": { + "Peru": { + "border": 420 + }, + "Colombia": { + "border": 590 + } + }, + "El Salvador": { + "Guatemala": { + "border": 203 + }, + "Honduras": { + "border": 342 + } + }, + "Guatemala": { + "El Salvador": { + "border": 203 + }, + "Belize": { + "border": 266 + }, + "Honduras": { + "border": 256 + }, + "Mexico": { + "border": 962 + } + }, + "Chile": { + "Argentina": { + "border": 13 + }, + "Bolivia": { + "border": 861 + }, + "Peru": { + "border": 160 + } + }, + "Belize": { + "Guatemala": { + "border": 266 + }, + "Mexico": { + "border": 250 + } + }, + "United States": { + "Canada": { + "border": 23 + }, + "Mexico": { + "border": 141 + } + }, + "Guyana": { + "Brazil": { + "border": 119 + }, + "Venezuela": { + "border": 743 + }, + "Suriname": { + "border": 600 + } + }, + "Honduras": { + "El Salvador": { + "border": 342 + }, + "Guatemala": { + "border": 256 + }, + "Nicaragua": { + "border": 922 + } + }, + "Uruguay": { + "Brazil": { + "border": 985 + }, + "Argentina": { + "border": 579 + } + }, + "Mexico": { + "United States": { + "border": 141 + }, + "Guatemala": { + "border": 962 + }, + "Belize": { + "border": 250 + } + }, + "Colombia": { + "Brazil": { + "border": 643 + }, + "Panama": { + "border": 225 + }, + "Venezuela": { + "border": 50 + }, + "Peru": { + "border": 496 + }, + "Ecuador": { + "border": 590 + } + }, + "Paraguay": { + "Brazil": { + "border": 290 + }, + "Argentina": { + "border": 880 + }, + "Bolivia": { + "border": 750 + } + }, + "Nicaragua": { + "Honduras": { + "border": 922 + }, + "Costa Rica": { + "border": 309 + } + } + } +} diff --git a/demos/atlas/maps/asia.json b/demos/atlas/maps/asia.json index 45bfc77..b8b7600 100644 --- a/demos/atlas/maps/asia.json +++ b/demos/atlas/maps/asia.json @@ -1 +1,282 @@ -{"nodes": {"East Timor": {"borders": 2, "length": 228.0}, "Afghanistan": {"borders": 7, "length": 5529.0}, "Nepal": {"borders": 2, "length": 2926.0}, "Bangladesh": {"borders": 2, "length": 4246.0}, "Macau": {"borders": 1, "length": 0.34000000000000002}, "Brunei": {"borders": 2, "length": 381.0}, "Indonesia": {"borders": 4, "length": 2830.0}, "India": {"borders": 9, "length": 14103.0}, "Cambodia": {"borders": 3, "length": 2572.0}, "North Korea": {"borders": 3, "length": 1673.0}, "Malaysia": {"borders": 4, "length": 3147.0}, "People's Republic of China": {"borders": 19, "length": 22147.0}, "Burma": {"borders": 5, "length": 5876.0}, "Mongolia": {"borders": 2, "length": 8220.0}, "Vietnam": {"borders": 3, "length": 4639.0}, "Laos": {"borders": 5, "length": 5083.0}, "Thailand": {"borders": 4, "length": 4863.0}, "South Korea": {"borders": 1, "length": 238.0}, "Hong Kong": {"borders": 1, "length": 30.0}}, "edges": {"East Timor": {"Indonesia": {"border": 228}}, "Afghanistan": {"People's Republic of China": {"border": 76}, "India": {"border": 106}}, "Nepal": {"People's Republic of China": {"border": 236}, "India": {"border": 690}}, "Bangladesh": {"Burma": {"border": 193}, "India": {"border": 53}}, "Macau": {"People's Republic of China": {"border": 34}}, "Brunei": {"Malaysia": {"border": 381}}, "Indonesia": {"East Timor": {"border": 228}, "Malaysia": {"border": 782}}, "India": {"Burma": {"border": 463}, "Afghanistan": {"border": 106}, "People's Republic of China": {"border": 380}, "Nepal": {"border": 690}, "Bangladesh": {"border": 53}}, "Cambodia": {"Thailand": {"border": 803}, "Vietnam": {"border": 228}, "Laos": {"border": 541}}, "North Korea": {"South Korea": {"border": 238}, "People's Republic of China": {"border": 416}}, "Malaysia": {"Brunei": {"border": 381}, "Indonesia": {"border": 782}, "Thailand": {"border": 506}}, "People's Republic of China": {"Burma": {"border": 185}, "Afghanistan": {"border": 76}, "Macau": {"border": 34}, "Nepal": {"border": 236}, "India": {"border": 380}, "Mongolia": {"border": 677}, "North Korea": {"border": 416}, "Vietnam": {"border": 281}, "Laos": {"border": 423}, "Hong Kong": {"border": 30}}, "Burma": {"Thailand": {"border": 800}, "People's Republic of China": {"border": 185}, "India": {"border": 463}, "Bangladesh": {"border": 193}, "Laos": {"border": 235}}, "Mongolia": {"People's Republic of China": {"border": 677}}, "Vietnam": {"People's Republic of China": {"border": 281}, "Cambodia": {"border": 228}, "Laos": {"border": 130}}, "Laos": {"Burma": {"border": 235}, "Thailand": {"border": 754}, "People's Republic of China": {"border": 423}, "Vietnam": {"border": 130}, "Cambodia": {"border": 541}}, "Thailand": {"Burma": {"border": 800}, "Malaysia": {"border": 506}, "Cambodia": {"border": 803}, "Laos": {"border": 754}}, "South Korea": {"North Korea": {"border": 238}}, "Hong Kong": {"People's Republic of China": {"border": 30}}}} \ No newline at end of file +{ + "nodes": { + "East Timor": { + "borders": 2, + "length": 228.0 + }, + "Afghanistan": { + "borders": 7, + "length": 5529.0 + }, + "Indonesia": { + "borders": 4, + "length": 2830.0 + }, + "Bangladesh": { + "borders": 2, + "length": 4246.0 + }, + "Macau": { + "borders": 1, + "length": 0.34000000000000002 + }, + "Brunei": { + "borders": 2, + "length": 381.0 + }, + "Nepal": { + "borders": 2, + "length": 2926.0 + }, + "India": { + "borders": 9, + "length": 14103.0 + }, + "Cambodia": { + "borders": 3, + "length": 2572.0 + }, + "North Korea": { + "borders": 3, + "length": 1673.0 + }, + "Malaysia": { + "borders": 4, + "length": 3147.0 + }, + "People's Republic of China": { + "borders": 19, + "length": 22147.0 + }, + "Burma": { + "borders": 5, + "length": 5876.0 + }, + "Vietnam": { + "borders": 3, + "length": 4639.0 + }, + "Laos": { + "borders": 5, + "length": 5083.0 + }, + "Thailand": { + "borders": 4, + "length": 4863.0 + }, + "South Korea": { + "borders": 1, + "length": 238.0 + }, + "Hong Kong": { + "borders": 1, + "length": 30.0 + }, + "Mongolia": { + "borders": 2, + "length": 8220.0 + } + }, + "edges": { + "East Timor": { + "Indonesia": { + "border": 228 + } + }, + "Afghanistan": { + "People's Republic of China": { + "border": 76 + }, + "India": { + "border": 106 + } + }, + "Indonesia": { + "East Timor": { + "border": 228 + }, + "Malaysia": { + "border": 782 + } + }, + "Bangladesh": { + "Burma": { + "border": 193 + }, + "India": { + "border": 53 + } + }, + "Macau": { + "People's Republic of China": { + "border": 34 + } + }, + "Brunei": { + "Malaysia": { + "border": 381 + } + }, + "Nepal": { + "People's Republic of China": { + "border": 236 + }, + "India": { + "border": 690 + } + }, + "India": { + "Burma": { + "border": 463 + }, + "Afghanistan": { + "border": 106 + }, + "People's Republic of China": { + "border": 380 + }, + "Nepal": { + "border": 690 + }, + "Bangladesh": { + "border": 53 + } + }, + "Cambodia": { + "Thailand": { + "border": 803 + }, + "Vietnam": { + "border": 228 + }, + "Laos": { + "border": 541 + } + }, + "North Korea": { + "South Korea": { + "border": 238 + }, + "People's Republic of China": { + "border": 416 + } + }, + "Malaysia": { + "Brunei": { + "border": 381 + }, + "Indonesia": { + "border": 782 + }, + "Thailand": { + "border": 506 + } + }, + "People's Republic of China": { + "Burma": { + "border": 185 + }, + "Afghanistan": { + "border": 76 + }, + "Macau": { + "border": 34 + }, + "Nepal": { + "border": 236 + }, + "India": { + "border": 380 + }, + "Mongolia": { + "border": 677 + }, + "North Korea": { + "border": 416 + }, + "Vietnam": { + "border": 281 + }, + "Laos": { + "border": 423 + }, + "Hong Kong": { + "border": 30 + } + }, + "Burma": { + "Thailand": { + "border": 800 + }, + "People's Republic of China": { + "border": 185 + }, + "India": { + "border": 463 + }, + "Bangladesh": { + "border": 193 + }, + "Laos": { + "border": 235 + } + }, + "Vietnam": { + "People's Republic of China": { + "border": 281 + }, + "Cambodia": { + "border": 228 + }, + "Laos": { + "border": 130 + } + }, + "Laos": { + "Burma": { + "border": 235 + }, + "Thailand": { + "border": 754 + }, + "People's Republic of China": { + "border": 423 + }, + "Cambodia": { + "border": 541 + }, + "Vietnam": { + "border": 130 + } + }, + "Thailand": { + "Burma": { + "border": 800 + }, + "Malaysia": { + "border": 506 + }, + "Cambodia": { + "border": 803 + }, + "Laos": { + "border": 754 + } + }, + "South Korea": { + "North Korea": { + "border": 238 + } + }, + "Hong Kong": { + "People's Republic of China": { + "border": 30 + } + }, + "Mongolia": { + "People's Republic of China": { + "border": 677 + } + } + } +} diff --git a/demos/atlas/maps/europe.json b/demos/atlas/maps/europe.json index 3dda595..ea282c8 100644 --- a/demos/atlas/maps/europe.json +++ b/demos/atlas/maps/europe.json @@ -1 +1,627 @@ -{"nodes": {"Italy": {"borders": 6, "length": 1932.0}, "Czech Republic": {"borders": 4, "length": 1881.0}, "Lithuania": {"borders": 4, "length": 1273.0}, "Luxembourg": {"borders": 3, "length": 359.0}, "France": {"borders": 11, "length": 4082.0}, "Slovakia": {"borders": 5, "length": 1524.0}, "Norway": {"borders": 3, "length": 2551.0}, "Belarus": {"borders": 5, "length": 2900.0}, "Slovenia": {"borders": 4, "length": 1334.0}, "Germany": {"borders": 9, "length": 3621.0}, "Bosnia and Herzegovina": {"borders": 3, "length": 1459.0}, "Belgium": {"borders": 4, "length": 1385.0}, "Spain": {"borders": 7, "length": 1918.0}, "Ukraine": {"borders": 8, "length": 4663.0}, "Netherlands": {"borders": 2, "length": 1027.0}, "Denmark": {"borders": 1, "length": 125.0}, "Poland": {"borders": 7, "length": 2788.0}, "Finland": {"borders": 3, "length": 2690.0}, "Moldova": {"borders": 2, "length": 1389.0}, "Sweden": {"borders": 2, "length": 2233.0}, "Croatia": {"borders": 5, "length": 2197.0}, "Monaco": {"borders": 1, "length": 4.4000000000000004}, "Switzerland": {"borders": 5, "length": 1852.0}, "Russia": {"borders": 15, "length": 20017.0}, "Bulgaria": {"borders": 5, "length": 1808.0}, "Romania": {"borders": 6, "length": 2508.0}, "Albania": {"borders": 4, "length": 720.0}, "Estonia": {"borders": 2, "length": 633.0}, "Portugal": {"borders": 1, "length": 1214.0}, "Republic of Macedonia": {"borders": 5, "length": 766.0}, "Serbia": {"borders": 8, "length": 2027.0}, "Liechtenstein": {"borders": 2, "length": 76.0}, "Austria": {"borders": 8, "length": 2562.0}, "Greece": {"borders": 4, "length": 1228.0}, "Hungary": {"borders": 7, "length": 2171.0}}, "edges": {"Italy": {"Switzerland": {"border": 740}, "Slovenia": {"border": 232}, "Austria": {"border": 430}, "France": {"border": 488}}, "Czech Republic": {"Germany": {"border": 646}, "Austria": {"border": 362}, "Slovakia": {"border": 215}, "Poland": {"border": 658}}, "Lithuania": {"Poland": {"border": 91}, "Belarus": {"border": 502}, "Russia": {"border": 227}}, "Luxembourg": {"Belgium": {"border": 148}, "Germany": {"border": 138}, "France": {"border": 73}}, "France": {"Italy": {"border": 488}, "Luxembourg": {"border": 73}, "Belgium": {"border": 620}, "Germany": {"border": 451}, "Monaco": {"border": 4}, "Switzerland": {"border": 573}, "Spain": {"border": 623}}, "Slovakia": {"Ukraine": {"border": 97}, "Hungary": {"border": 677}, "Austria": {"border": 91}, "Poland": {"border": 444}, "Czech Republic": {"border": 215}}, "Norway": {"Sweden": {"border": 619}, "Finland": {"border": 736}, "Russia": {"border": 196}}, "Belarus": {"Ukraine": {"border": 891}, "Poland": {"border": 407}, "Lithuania": {"border": 502}, "Russia": {"border": 959}}, "Slovenia": {"Croatia": {"border": 670}, "Austria": {"border": 330}, "Italy": {"border": 232}, "Hungary": {"border": 102}}, "Germany": {"Netherlands": {"border": 577}, "Czech Republic": {"border": 646}, "Denmark": {"border": 125}, "Poland": {"border": 456}, "Luxembourg": {"border": 138}, "France": {"border": 451}, "Belgium": {"border": 167}, "Austria": {"border": 784}, "Switzerland": {"border": 334}}, "Bosnia and Herzegovina": {"Serbia": {"border": 302}, "Croatia": {"border": 932}}, "Belgium": {"Netherlands": {"border": 450}, "Germany": {"border": 167}, "Luxembourg": {"border": 148}, "France": {"border": 620}}, "Spain": {"Portugal": {"border": 214}, "France": {"border": 623}}, "Ukraine": {"Romania": {"border": 52}, "Belarus": {"border": 891}, "Poland": {"border": 526}, "Moldova": {"border": 939}, "Slovakia": {"border": 97}, "Hungary": {"border": 103}, "Russia": {"border": 576}}, "Netherlands": {"Belgium": {"border": 450}, "Germany": {"border": 577}}, "Denmark": {"Germany": {"border": 1}}, "Poland": {"Ukraine": {"border": 526}, "Czech Republic": {"border": 658}, "Lithuania": {"border": 91}, "Slovakia": {"border": 444}, "Germany": {"border": 456}, "Russia": {"border": 206}}, "Finland": {"Sweden": {"border": 614}, "Norway": {"border": 736}, "Russia": {"border": 340}}, "Moldova": {"Ukraine": {"border": 939}, "Romania": {"border": 450}}, "Sweden": {"Finland": {"border": 614}, "Norway": {"border": 619}}, "Croatia": {"Hungary": {"border": 329}, "Serbia": {"border": 241}, "Bosnia and Herzegovina": {"border": 932}, "Slovenia": {"border": 670}}, "Monaco": {"France": {"border": 4}}, "Switzerland": {"Italy": {"border": 740}, "Austria": {"border": 164}, "Germany": {"border": 334}, "Liechtenstein": {"border": 41}, "France": {"border": 573}}, "Russia": {"Ukraine": {"border": 576}, "Belarus": {"border": 959}, "Estonia": {"border": 294}, "Poland": {"border": 206}, "Finland": {"border": 340}, "Lithuania": {"border": 227}, "Norway": {"border": 196}}, "Bulgaria": {"Republic of Macedonia": {"border": 148}, "Romania": {"border": 608}, "Serbia": {"border": 318}, "Greece": {"border": 494}}, "Romania": {"Ukraine": {"border": 52}, "Hungary": {"border": 443}, "Bulgaria": {"border": 608}, "Serbia": {"border": 476}, "Moldova": {"border": 450}}, "Albania": {"Republic of Macedonia": {"border": 151}, "Greece": {"border": 282}}, "Estonia": {"Russia": {"border": 294}}, "Portugal": {"Spain": {"border": 214}}, "Republic of Macedonia": {"Albania": {"border": 151}, "Serbia": {"border": 62}, "Bulgaria": {"border": 148}, "Greece": {"border": 246}}, "Serbia": {"Romania": {"border": 476}, "Republic of Macedonia": {"border": 62}, "Croatia": {"border": 241}, "Bosnia and Herzegovina": {"border": 302}, "Hungary": {"border": 241}, "Bulgaria": {"border": 318}}, "Liechtenstein": {"Switzerland": {"border": 1}, "Austria": {"border": 9}}, "Austria": {"Italy": {"border": 430}, "Czech Republic": {"border": 362}, "Slovenia": {"border": 330}, "Liechtenstein": {"border": 35}, "Germany": {"border": 784}, "Hungary": {"border": 366}, "Switzerland": {"border": 164}, "Slovakia": {"border": 91}}, "Greece": {"Republic of Macedonia": {"border": 246}, "Albania": {"border": 282}, "Bulgaria": {"border": 494}}, "Hungary": {"Ukraine": {"border": 103}, "Romania": {"border": 443}, "Serbia": {"border": 151}, "Slovenia": {"border": 102}, "Austria": {"border": 366}, "Croatia": {"border": 329}, "Slovakia": {"border": 677}}}} \ No newline at end of file +{ + "nodes": { + "Italy": { + "borders": 6, + "length": 1932.0 + }, + "Czech Republic": { + "borders": 4, + "length": 1881.0 + }, + "Lithuania": { + "borders": 4, + "length": 1273.0 + }, + "Luxembourg": { + "borders": 3, + "length": 359.0 + }, + "France": { + "borders": 11, + "length": 4082.0 + }, + "Slovakia": { + "borders": 5, + "length": 1524.0 + }, + "Norway": { + "borders": 3, + "length": 2551.0 + }, + "Belarus": { + "borders": 5, + "length": 2900.0 + }, + "Slovenia": { + "borders": 4, + "length": 1334.0 + }, + "Germany": { + "borders": 9, + "length": 3621.0 + }, + "Bosnia and Herzegovina": { + "borders": 3, + "length": 1459.0 + }, + "Belgium": { + "borders": 4, + "length": 1385.0 + }, + "Spain": { + "borders": 7, + "length": 1918.0 + }, + "Ukraine": { + "borders": 8, + "length": 4663.0 + }, + "Netherlands": { + "borders": 2, + "length": 1027.0 + }, + "Denmark": { + "borders": 1, + "length": 125.0 + }, + "Poland": { + "borders": 7, + "length": 2788.0 + }, + "Finland": { + "borders": 3, + "length": 2690.0 + }, + "Moldova": { + "borders": 2, + "length": 1389.0 + }, + "Sweden": { + "borders": 2, + "length": 2233.0 + }, + "Croatia": { + "borders": 5, + "length": 2197.0 + }, + "Monaco": { + "borders": 1, + "length": 4.4000000000000004 + }, + "Switzerland": { + "borders": 5, + "length": 1852.0 + }, + "Russia": { + "borders": 15, + "length": 20017.0 + }, + "Bulgaria": { + "borders": 5, + "length": 1808.0 + }, + "Romania": { + "borders": 6, + "length": 2508.0 + }, + "Albania": { + "borders": 4, + "length": 720.0 + }, + "Portugal": { + "borders": 1, + "length": 1214.0 + }, + "Estonia": { + "borders": 2, + "length": 633.0 + }, + "Republic of Macedonia": { + "borders": 5, + "length": 766.0 + }, + "Serbia": { + "borders": 8, + "length": 2027.0 + }, + "Liechtenstein": { + "borders": 2, + "length": 76.0 + }, + "Austria": { + "borders": 8, + "length": 2562.0 + }, + "Greece": { + "borders": 4, + "length": 1228.0 + }, + "Hungary": { + "borders": 7, + "length": 2171.0 + } + }, + "edges": { + "Italy": { + "Switzerland": { + "border": 740 + }, + "Slovenia": { + "border": 232 + }, + "Austria": { + "border": 430 + }, + "France": { + "border": 488 + } + }, + "Czech Republic": { + "Slovakia": { + "border": 215 + }, + "Austria": { + "border": 362 + }, + "Germany": { + "border": 646 + }, + "Poland": { + "border": 658 + } + }, + "Lithuania": { + "Poland": { + "border": 91 + }, + "Belarus": { + "border": 502 + }, + "Russia": { + "border": 227 + } + }, + "Luxembourg": { + "Belgium": { + "border": 148 + }, + "Germany": { + "border": 138 + }, + "France": { + "border": 73 + } + }, + "France": { + "Italy": { + "border": 488 + }, + "Luxembourg": { + "border": 73 + }, + "Switzerland": { + "border": 573 + }, + "Germany": { + "border": 451 + }, + "Monaco": { + "border": 4 + }, + "Belgium": { + "border": 620 + }, + "Spain": { + "border": 623 + } + }, + "Slovakia": { + "Ukraine": { + "border": 97 + }, + "Hungary": { + "border": 677 + }, + "Austria": { + "border": 91 + }, + "Poland": { + "border": 444 + }, + "Czech Republic": { + "border": 215 + } + }, + "Norway": { + "Sweden": { + "border": 619 + }, + "Finland": { + "border": 736 + }, + "Russia": { + "border": 196 + } + }, + "Belarus": { + "Ukraine": { + "border": 891 + }, + "Poland": { + "border": 407 + }, + "Lithuania": { + "border": 502 + }, + "Russia": { + "border": 959 + } + }, + "Slovenia": { + "Italy": { + "border": 232 + }, + "Austria": { + "border": 330 + }, + "Croatia": { + "border": 670 + }, + "Hungary": { + "border": 102 + } + }, + "Germany": { + "Netherlands": { + "border": 577 + }, + "Czech Republic": { + "border": 646 + }, + "Denmark": { + "border": 125 + }, + "Poland": { + "border": 456 + }, + "Luxembourg": { + "border": 138 + }, + "France": { + "border": 451 + }, + "Switzerland": { + "border": 334 + }, + "Austria": { + "border": 784 + }, + "Belgium": { + "border": 167 + } + }, + "Bosnia and Herzegovina": { + "Croatia": { + "border": 932 + }, + "Serbia": { + "border": 302 + } + }, + "Belgium": { + "Netherlands": { + "border": 450 + }, + "Germany": { + "border": 167 + }, + "Luxembourg": { + "border": 148 + }, + "France": { + "border": 620 + } + }, + "Spain": { + "Portugal": { + "border": 214 + }, + "France": { + "border": 623 + } + }, + "Ukraine": { + "Romania": { + "border": 52 + }, + "Belarus": { + "border": 891 + }, + "Poland": { + "border": 526 + }, + "Moldova": { + "border": 939 + }, + "Slovakia": { + "border": 97 + }, + "Hungary": { + "border": 103 + }, + "Russia": { + "border": 576 + } + }, + "Netherlands": { + "Belgium": { + "border": 450 + }, + "Germany": { + "border": 577 + } + }, + "Denmark": { + "Germany": { + "border": 1 + } + }, + "Poland": { + "Ukraine": { + "border": 526 + }, + "Czech Republic": { + "border": 658 + }, + "Lithuania": { + "border": 91 + }, + "Slovakia": { + "border": 444 + }, + "Germany": { + "border": 456 + }, + "Russia": { + "border": 206 + } + }, + "Finland": { + "Sweden": { + "border": 614 + }, + "Norway": { + "border": 736 + }, + "Russia": { + "border": 340 + } + }, + "Moldova": { + "Ukraine": { + "border": 939 + }, + "Romania": { + "border": 450 + } + }, + "Sweden": { + "Finland": { + "border": 614 + }, + "Norway": { + "border": 619 + } + }, + "Croatia": { + "Hungary": { + "border": 329 + }, + "Serbia": { + "border": 241 + }, + "Bosnia and Herzegovina": { + "border": 932 + }, + "Slovenia": { + "border": 670 + } + }, + "Monaco": { + "France": { + "border": 4 + } + }, + "Switzerland": { + "Germany": { + "border": 334 + }, + "Austria": { + "border": 164 + }, + "Italy": { + "border": 740 + }, + "Liechtenstein": { + "border": 41 + }, + "France": { + "border": 573 + } + }, + "Russia": { + "Ukraine": { + "border": 576 + }, + "Belarus": { + "border": 959 + }, + "Estonia": { + "border": 294 + }, + "Poland": { + "border": 206 + }, + "Finland": { + "border": 340 + }, + "Lithuania": { + "border": 227 + }, + "Norway": { + "border": 196 + } + }, + "Bulgaria": { + "Republic of Macedonia": { + "border": 148 + }, + "Romania": { + "border": 608 + }, + "Serbia": { + "border": 318 + }, + "Greece": { + "border": 494 + } + }, + "Romania": { + "Ukraine": { + "border": 52 + }, + "Hungary": { + "border": 443 + }, + "Moldova": { + "border": 450 + }, + "Serbia": { + "border": 476 + }, + "Bulgaria": { + "border": 608 + } + }, + "Albania": { + "Republic of Macedonia": { + "border": 151 + }, + "Greece": { + "border": 282 + } + }, + "Portugal": { + "Spain": { + "border": 214 + } + }, + "Estonia": { + "Russia": { + "border": 294 + } + }, + "Republic of Macedonia": { + "Greece": { + "border": 246 + }, + "Albania": { + "border": 151 + }, + "Serbia": { + "border": 62 + }, + "Bulgaria": { + "border": 148 + } + }, + "Serbia": { + "Romania": { + "border": 476 + }, + "Republic of Macedonia": { + "border": 62 + }, + "Croatia": { + "border": 241 + }, + "Bosnia and Herzegovina": { + "border": 302 + }, + "Hungary": { + "border": 241 + }, + "Bulgaria": { + "border": 318 + } + }, + "Liechtenstein": { + "Switzerland": { + "border": 1 + }, + "Austria": { + "border": 9 + } + }, + "Austria": { + "Slovakia": { + "border": 91 + }, + "Italy": { + "border": 430 + }, + "Czech Republic": { + "border": 362 + }, + "Slovenia": { + "border": 330 + }, + "Liechtenstein": { + "border": 35 + }, + "Germany": { + "border": 784 + }, + "Switzerland": { + "border": 164 + }, + "Hungary": { + "border": 366 + } + }, + "Greece": { + "Republic of Macedonia": { + "border": 246 + }, + "Albania": { + "border": 282 + }, + "Bulgaria": { + "border": 494 + } + }, + "Hungary": { + "Ukraine": { + "border": 103 + }, + "Romania": { + "border": 443 + }, + "Serbia": { + "border": 151 + }, + "Slovenia": { + "border": 102 + }, + "Austria": { + "border": 366 + }, + "Croatia": { + "border": 329 + }, + "Slovakia": { + "border": 677 + } + } + } +} diff --git a/demos/atlas/maps/mideast.json b/demos/atlas/maps/mideast.json index c9f669f..36336d5 100644 --- a/demos/atlas/maps/mideast.json +++ b/demos/atlas/maps/mideast.json @@ -1 +1,288 @@ -{"nodes": {"Turkey": {"borders": 8, "length": 2648.0}, "Pakistan": {"borders": 4, "length": 6774.0}, "Saudi Arabia": {"borders": 7, "length": 4431.0}, "Iraq": {"borders": 6, "length": 3650.0}, "West Bank": {"borders": 2, "length": 404.0}, "Afghanistan": {"borders": 7, "length": 5529.0}, "Egypt": {"borders": 4, "length": 2665.0}, "United Arab Emirates": {"borders": 4, "length": 867.0}, "Gaza Strip": {"borders": 2, "length": 62.0}, "Lebanon": {"borders": 2, "length": 454.0}, "Qatar": {"borders": 1, "length": 60.0}, "Israel": {"borders": 6, "length": 1017.0}, "Syria": {"borders": 5, "length": 2253.0}, "Jordan": {"borders": 5, "length": 1635.0}, "Oman": {"borders": 5, "length": 1374.0}, "Iran": {"borders": 8, "length": 5440.0}, "Yemen": {"borders": 2, "length": 1746.0}, "Kuwait": {"borders": 2, "length": 462.0}}, "edges": {"Turkey": {"Syria": {"border": 822}, "Iraq": {"border": 352}, "Iran": {"border": 499}}, "Pakistan": {"Afghanistan": {"border": 430}, "Iran": {"border": 909}}, "Saudi Arabia": {"Qatar": {"border": 60}, "Iraq": {"border": 814}, "United Arab Emirates": {"border": 457}, "Oman": {"border": 676}, "Jordan": {"border": 744}, "Kuwait": {"border": 222}, "Yemen": {"border": 458}}, "Iraq": {"Turkey": {"border": 352}, "Saudi Arabia": {"border": 814}, "Iran": {"border": 458}, "Kuwait": {"border": 240}, "Jordan": {"border": 181}, "Syria": {"border": 605}}, "West Bank": {"Israel": {"border": 307}, "Jordan": {"border": 97}}, "Afghanistan": {"Pakistan": {"border": 430}, "Iran": {"border": 936}}, "Egypt": {"Israel": {"border": 266}, "Gaza Strip": {"border": 11}}, "United Arab Emirates": {"Oman": {"border": 410}, "Saudi Arabia": {"border": 457}}, "Gaza Strip": {"Egypt": {"border": 11}, "Israel": {"border": 51}}, "Lebanon": {"Syria": {"border": 375}, "Israel": {"border": 79}}, "Qatar": {"Saudi Arabia": {"border": 60}}, "Israel": {"West Bank": {"border": 307}, "Egypt": {"border": 266}, "Gaza Strip": {"border": 51}, "Lebanon": {"border": 79}, "Jordan": {"border": 238}, "Syria": {"border": 76}}, "Syria": {"Turkey": {"border": 822}, "Jordan": {"border": 375}, "Israel": {"border": 76}, "Iraq": {"border": 605}, "Lebanon": {"border": 375}}, "Jordan": {"Syria": {"border": 375}, "Israel": {"border": 238}, "Iraq": {"border": 181}, "West Bank": {"border": 97}, "Saudi Arabia": {"border": 744}}, "Oman": {"United Arab Emirates": {"border": 410}, "Saudi Arabia": {"border": 676}, "Yemen": {"border": 288}}, "Iran": {"Turkey": {"border": 499}, "Afghanistan": {"border": 936}, "Iraq": {"border": 458}, "Pakistan": {"border": 909}}, "Yemen": {"Oman": {"border": 288}, "Saudi Arabia": {"border": 458}}, "Kuwait": {"Saudi Arabia": {"border": 222}, "Iraq": {"border": 240}}}} \ No newline at end of file +{ + "nodes": { + "Turkey": { + "borders": 8, + "length": 2648.0 + }, + "Pakistan": { + "borders": 4, + "length": 6774.0 + }, + "Saudi Arabia": { + "borders": 7, + "length": 4431.0 + }, + "Yemen": { + "borders": 2, + "length": 1746.0 + }, + "West Bank": { + "borders": 2, + "length": 404.0 + }, + "Afghanistan": { + "borders": 7, + "length": 5529.0 + }, + "Egypt": { + "borders": 4, + "length": 2665.0 + }, + "United Arab Emirates": { + "borders": 4, + "length": 867.0 + }, + "Gaza Strip": { + "borders": 2, + "length": 62.0 + }, + "Lebanon": { + "borders": 2, + "length": 454.0 + }, + "Qatar": { + "borders": 1, + "length": 60.0 + }, + "Israel": { + "borders": 6, + "length": 1017.0 + }, + "Jordan": { + "borders": 5, + "length": 1635.0 + }, + "Oman": { + "borders": 5, + "length": 1374.0 + }, + "Syria": { + "borders": 5, + "length": 2253.0 + }, + "Iran": { + "borders": 8, + "length": 5440.0 + }, + "Iraq": { + "borders": 6, + "length": 3650.0 + }, + "Kuwait": { + "borders": 2, + "length": 462.0 + } + }, + "edges": { + "Turkey": { + "Syria": { + "border": 822 + }, + "Iraq": { + "border": 352 + }, + "Iran": { + "border": 499 + } + }, + "Pakistan": { + "Afghanistan": { + "border": 430 + }, + "Iran": { + "border": 909 + } + }, + "Saudi Arabia": { + "Qatar": { + "border": 60 + }, + "Yemen": { + "border": 458 + }, + "Oman": { + "border": 676 + }, + "United Arab Emirates": { + "border": 457 + }, + "Jordan": { + "border": 744 + }, + "Kuwait": { + "border": 222 + }, + "Iraq": { + "border": 814 + } + }, + "Yemen": { + "Oman": { + "border": 288 + }, + "Saudi Arabia": { + "border": 458 + } + }, + "West Bank": { + "Israel": { + "border": 307 + }, + "Jordan": { + "border": 97 + } + }, + "Afghanistan": { + "Pakistan": { + "border": 430 + }, + "Iran": { + "border": 936 + } + }, + "Egypt": { + "Israel": { + "border": 266 + }, + "Gaza Strip": { + "border": 11 + } + }, + "United Arab Emirates": { + "Oman": { + "border": 410 + }, + "Saudi Arabia": { + "border": 457 + } + }, + "Gaza Strip": { + "Egypt": { + "border": 11 + }, + "Israel": { + "border": 51 + } + }, + "Lebanon": { + "Syria": { + "border": 375 + }, + "Israel": { + "border": 79 + } + }, + "Qatar": { + "Saudi Arabia": { + "border": 60 + } + }, + "Israel": { + "West Bank": { + "border": 307 + }, + "Egypt": { + "border": 266 + }, + "Gaza Strip": { + "border": 51 + }, + "Lebanon": { + "border": 79 + }, + "Jordan": { + "border": 238 + }, + "Syria": { + "border": 76 + } + }, + "Jordan": { + "Syria": { + "border": 375 + }, + "Israel": { + "border": 238 + }, + "Iraq": { + "border": 181 + }, + "West Bank": { + "border": 97 + }, + "Saudi Arabia": { + "border": 744 + } + }, + "Oman": { + "United Arab Emirates": { + "border": 410 + }, + "Saudi Arabia": { + "border": 676 + }, + "Yemen": { + "border": 288 + } + }, + "Syria": { + "Turkey": { + "border": 822 + }, + "Lebanon": { + "border": 375 + }, + "Israel": { + "border": 76 + }, + "Iraq": { + "border": 605 + }, + "Jordan": { + "border": 375 + } + }, + "Iran": { + "Turkey": { + "border": 499 + }, + "Afghanistan": { + "border": 936 + }, + "Iraq": { + "border": 458 + }, + "Pakistan": { + "border": 909 + } + }, + "Iraq": { + "Turkey": { + "border": 352 + }, + "Saudi Arabia": { + "border": 814 + }, + "Iran": { + "border": 458 + }, + "Kuwait": { + "border": 240 + }, + "Jordan": { + "border": 181 + }, + "Syria": { + "border": 605 + } + }, + "Kuwait": { + "Saudi Arabia": { + "border": 222 + }, + "Iraq": { + "border": 240 + } + } + } +} diff --git a/demos/atlas/maps/risk.json b/demos/atlas/maps/risk.json index e5fc64c..2efba65 100644 --- a/demos/atlas/maps/risk.json +++ b/demos/atlas/maps/risk.json @@ -1 +1,291 @@ -{"nodes": {"Brazil": {"region": "South America"}, "Afghanistan": {"region": "Asia"}, "Madagascar": {"region": "Africa"}, "Ontario": {"region": "North America"}, "Eastern United States": {"region": "North America"}, "Southern Europe": {"region": "Europe"}, "Mongolia": {"region": "Asia"}, "Great Britain": {"region": "Europe"}, "Middle East": {"region": "Asia"}, "Peru": {"region": "South America"}, "Alberta": {"region": "North America"}, "Siam": {"region": "Asia"}, "Venezuela": {"region": "South America"}, "Argentina": {"region": "South America"}, "Northern Europe": {"region": "Europe"}, "Iceland": {"region": "Europe"}, "Irkutsk": {"region": "Asia"}, "China": {"region": "Asia"}, "Western United States": {"region": "North America"}, "Ural": {"region": "Asia"}, "North Africa": {"region": "Africa"}, "Siberia": {"region": "Asia"}, "Quebec": {"region": "North America"}, "Ukraine": {"region": "Europe"}, "Indonesia": {"region": "Oceania"}, "Scandinavia": {"region": "Europe"}, "Yakutsk": {"region": "Asia"}, "Alaska": {"region": "North America"}, "New Guinea": {"region": "Oceania"}, "Greenland": {"region": "North America"}, "East Africa": {"region": "Africa"}, "Western Australia": {"region": "Oceania"}, "South Africa": {"region": "Africa"}, "Egypt": {"region": "Africa"}, "India": {"region": "Asia"}, "Northwest Territory": {"region": "North America"}, "Central America": {"region": "North America"}, "Congo": {"region": "Africa"}, "Kamchatka": {"region": "Asia"}, "Japan": {"region": "Asia"}, "Western Europe": {"region": "Europe"}, "Eastern Australia": {"region": "Oceania"}}, "edges": {"Brazil": {"Argentina": {}, "Venezuela": {}, "North Africa": {}}, "Afghanistan": {"Ukraine": {}, "China": {}, "India": {}, "Middle East": {}}, "Madagascar": {"East Africa": {}, "South Africa": {}}, "Ontario": {"Greenland": {}, "Eastern United States": {}, "Quebec": {}, "Western United States": {}, "Alberta": {}, "Northwest Territory": {}}, "Eastern United States": {"Western United States": {}}, "Southern Europe": {"Ukraine": {}, "Northern Europe": {}, "Egypt": {}, "Middle East": {}, "Western Europe": {}, "North Africa": {}}, "Mongolia": {}, "Great Britain": {"Iceland": {}, "Northern Europe": {}}, "Middle East": {"Ukraine": {}}, "Peru": {"Brazil": {}, "Argentina": {}, "Venezuela": {}}, "Alberta": {"Alaska": {}, "Western United States": {}, "Northwest Territory": {}}, "Argentina": {}, "Kamchatka": {"Mongolia": {}}, "Venezuela": {"Central America": {}}, "Siam": {}, "Northern Europe": {}, "Iceland": {}, "Irkutsk": {"Kamchatka": {}, "Mongolia": {}}, "China": {"Siam": {}, "Mongolia": {}}, "Western United States": {}, "Ural": {"Ukraine": {}, "Afghanistan": {}, "China": {}, "Siberia": {}}, "Northwest Territory": {"Alaska": {}}, "Siberia": {"Irkutsk": {}, "Yakutsk": {}, "China": {}, "Mongolia": {}}, "Ukraine": {"Northern Europe": {}}, "Yakutsk": {"Irkutsk": {}, "Kamchatka": {}}, "Scandinavia": {"Ukraine": {}, "Iceland": {}, "Great Britain": {}, "Northern Europe": {}}, "Indonesia": {"Siam": {}, "Western Australia": {}, "New Guinea": {}}, "Alaska": {"Kamchatka": {}}, "New Guinea": {}, "Greenland": {"Iceland": {}, "Northwest Territory": {}}, "East Africa": {"Egypt": {}, "Middle East": {}, "South Africa": {}}, "Western Australia": {"Eastern Australia": {}, "New Guinea": {}}, "South Africa": {}, "Central America": {"Eastern United States": {}, "Western United States": {}}, "India": {"Siam": {}, "China": {}, "Middle East": {}}, "North Africa": {"Egypt": {}, "Western Europe": {}, "Congo": {}, "East Africa": {}}, "Egypt": {"Middle East": {}}, "Congo": {"East Africa": {}, "South Africa": {}}, "Quebec": {"Eastern United States": {}, "Greenland": {}}, "Japan": {"Mongolia": {}, "Kamchatka": {}}, "Western Europe": {"Great Britain": {}, "Northern Europe": {}}, "Eastern Australia": {"New Guinea": {}}}} \ No newline at end of file +{ + "nodes": { + "Brazil": { + "region": "South America" + }, + "Afghanistan": { + "region": "Asia" + }, + "Madagascar": { + "region": "Africa" + }, + "Ontario": { + "region": "North America" + }, + "Eastern United States": { + "region": "North America" + }, + "Southern Europe": { + "region": "Europe" + }, + "Mongolia": { + "region": "Asia" + }, + "Great Britain": { + "region": "Europe" + }, + "Middle East": { + "region": "Asia" + }, + "Peru": { + "region": "South America" + }, + "Alberta": { + "region": "North America" + }, + "Siam": { + "region": "Asia" + }, + "Kamchatka": { + "region": "Asia" + }, + "Venezuela": { + "region": "South America" + }, + "Argentina": { + "region": "South America" + }, + "Northern Europe": { + "region": "Europe" + }, + "Iceland": { + "region": "Europe" + }, + "Irkutsk": { + "region": "Asia" + }, + "China": { + "region": "Asia" + }, + "Western United States": { + "region": "North America" + }, + "Ural": { + "region": "Asia" + }, + "North Africa": { + "region": "Africa" + }, + "Siberia": { + "region": "Asia" + }, + "Ukraine": { + "region": "Europe" + }, + "Yakutsk": { + "region": "Asia" + }, + "Scandinavia": { + "region": "Europe" + }, + "Indonesia": { + "region": "Oceania" + }, + "Alaska": { + "region": "North America" + }, + "New Guinea": { + "region": "Oceania" + }, + "Greenland": { + "region": "North America" + }, + "East Africa": { + "region": "Africa" + }, + "Western Australia": { + "region": "Oceania" + }, + "South Africa": { + "region": "Africa" + }, + "Egypt": { + "region": "Africa" + }, + "India": { + "region": "Asia" + }, + "Northwest Territory": { + "region": "North America" + }, + "Central America": { + "region": "North America" + }, + "Congo": { + "region": "Africa" + }, + "Quebec": { + "region": "North America" + }, + "Japan": { + "region": "Asia" + }, + "Western Europe": { + "region": "Europe" + }, + "Eastern Australia": { + "region": "Oceania" + } + }, + "edges": { + "Brazil": { + "Argentina": {}, + "Venezuela": {}, + "North Africa": {} + }, + "Afghanistan": { + "Ukraine": {}, + "India": {}, + "China": {}, + "Middle East": {} + }, + "Madagascar": { + "East Africa": {}, + "South Africa": {} + }, + "Ontario": { + "Greenland": {}, + "Eastern United States": {}, + "Quebec": {}, + "Western United States": {}, + "Alberta": {}, + "Northwest Territory": {} + }, + "Eastern United States": { + "Western United States": {} + }, + "Southern Europe": { + "Ukraine": {}, + "Northern Europe": {}, + "Egypt": {}, + "Middle East": {}, + "Western Europe": {}, + "North Africa": {} + }, + "Mongolia": {}, + "Great Britain": { + "Iceland": {}, + "Northern Europe": {} + }, + "Middle East": { + "Ukraine": {} + }, + "Peru": { + "Brazil": {}, + "Argentina": {}, + "Venezuela": {} + }, + "Alberta": { + "Alaska": {}, + "Western United States": {}, + "Northwest Territory": {} + }, + "Argentina": {}, + "Venezuela": { + "Central America": {} + }, + "Siam": {}, + "Northern Europe": {}, + "Iceland": {}, + "Irkutsk": { + "Mongolia": {}, + "Kamchatka": {} + }, + "China": { + "Siam": {}, + "Mongolia": {} + }, + "Western United States": {}, + "Ural": { + "Ukraine": {}, + "Afghanistan": {}, + "China": {}, + "Siberia": {} + }, + "Northwest Territory": { + "Alaska": {} + }, + "Kamchatka": { + "Mongolia": {} + }, + "Quebec": { + "Eastern United States": {}, + "Greenland": {} + }, + "Ukraine": { + "Northern Europe": {} + }, + "Indonesia": { + "Siam": {}, + "Western Australia": {}, + "New Guinea": {} + }, + "Scandinavia": { + "Ukraine": {}, + "Iceland": {}, + "Great Britain": {}, + "Northern Europe": {} + }, + "Yakutsk": { + "Irkutsk": {}, + "Kamchatka": {} + }, + "Alaska": { + "Kamchatka": {} + }, + "New Guinea": {}, + "Greenland": { + "Iceland": {}, + "Northwest Territory": {} + }, + "East Africa": { + "Egypt": {}, + "Middle East": {}, + "South Africa": {} + }, + "Western Australia": { + "Eastern Australia": {}, + "New Guinea": {} + }, + "South Africa": {}, + "Central America": { + "Eastern United States": {}, + "Western United States": {} + }, + "India": { + "Siam": {}, + "China": {}, + "Middle East": {} + }, + "North Africa": { + "Egypt": {}, + "Western Europe": {}, + "Congo": {}, + "East Africa": {} + }, + "Egypt": { + "Middle East": {} + }, + "Congo": { + "East Africa": {}, + "South Africa": {} + }, + "Siberia": { + "Irkutsk": {}, + "Yakutsk": {}, + "China": {}, + "Mongolia": {} + }, + "Japan": { + "Kamchatka": {}, + "Mongolia": {} + }, + "Western Europe": { + "Great Britain": {}, + "Northern Europe": {} + }, + "Eastern Australia": { + "New Guinea": {} + } + } +} diff --git a/demos/atlas/maps/usofa.json b/demos/atlas/maps/usofa.json index 9043880..c3e0633 100644 --- a/demos/atlas/maps/usofa.json +++ b/demos/atlas/maps/usofa.json @@ -1 +1,236 @@ -{"nodes": {"WA": {}, "DE": {}, "DC": {}, "WI": {}, "WV": {}, "FL": {}, "WY": {}, "NH": {}, "NJ": {}, "NM": {}, "TX": {}, "LA": {}, "NC": {}, "ND": {}, "NE": {}, "TN": {}, "NY": {}, "PA": {}, "RI": {}, "NV": {}, "VA": {}, "CO": {}, "CA": {}, "AL": {}, "AR": {}, "VT": {}, "IL": {}, "GA": {}, "IN": {}, "IA": {}, "OK": {}, "AZ": {}, "ID": {}, "CT": {}, "ME": {}, "MD": {}, "MA": {}, "OH": {}, "UT": {}, "MO": {}, "MN": {}, "MI": {}, "KS": {}, "MT": {}, "MS": {}, "SC": {}, "KY": {}, "OR": {}, "SD": {}}, "edges": {"WA": {"OR": {}}, "DE": {"MD": {}}, "DC": {"MD": {}}, "WI": {"MN": {}, "MI": {}}, "WV": {"MD": {}, "KY": {}, "OH": {}}, "WY": {"MT": {}, "UT": {}, "SD": {}}, "NH": {"ME": {}, "MA": {}}, "NJ": {"NY": {}, "PA": {}, "DE": {}}, "NM": {"OK": {}, "TX": {}}, "TX": {"OK": {}, "LA": {}}, "LA": {"MS": {}}, "NC": {"TN": {}, "SC": {}}, "ND": {"MT": {}, "MN": {}, "SD": {}}, "NE": {"KS": {}, "MO": {}, "WY": {}, "SD": {}}, "TN": {"MO": {}, "KY": {}, "MS": {}}, "NY": {"PA": {}, "MA": {}}, "PA": {"MD": {}, "DE": {}, "OH": {}, "WV": {}}, "RI": {"MA": {}}, "NV": {"UT": {}, "OR": {}}, "VA": {"MD": {}, "NC": {}, "DC": {}, "TN": {}, "WV": {}, "KY": {}}, "CO": {"OK": {}, "NM": {}, "UT": {}, "NE": {}, "KS": {}, "WY": {}}, "CA": {"AZ": {}, "OR": {}, "NV": {}}, "AL": {"TN": {}, "FL": {}, "GA": {}, "MS": {}}, "AR": {"OK": {}, "TX": {}, "LA": {}, "MO": {}, "TN": {}, "MS": {}}, "VT": {"NH": {}, "NY": {}, "MA": {}}, "IL": {"IA": {}, "KY": {}, "MO": {}, "WI": {}, "IN": {}}, "GA": {"SC": {}, "TN": {}, "NC": {}, "FL": {}}, "IN": {"KY": {}, "MI": {}, "OH": {}}, "IA": {"MO": {}, "MN": {}, "NE": {}, "WI": {}, "SD": {}}, "AZ": {"UT": {}, "NM": {}, "NV": {}}, "ID": {"WA": {}, "UT": {}, "MT": {}, "WY": {}, "OR": {}, "NV": {}}, "CT": {"NY": {}, "MA": {}, "RI": {}}, "OK": {"KS": {}, "MO": {}}, "OH": {"KY": {}, "MI": {}}, "MO": {"KS": {}, "KY": {}}, "MN": {"SD": {}}, "MT": {"SD": {}}}} \ No newline at end of file +{ + "nodes": { + "WA": {}, + "DE": {}, + "DC": {}, + "WI": {}, + "WV": {}, + "FL": {}, + "WY": {}, + "NH": {}, + "NJ": {}, + "NM": {}, + "TX": {}, + "LA": {}, + "NC": {}, + "ND": {}, + "NE": {}, + "TN": {}, + "NY": {}, + "PA": {}, + "RI": {}, + "NV": {}, + "VA": {}, + "CO": {}, + "CA": {}, + "AL": {}, + "AR": {}, + "VT": {}, + "IL": {}, + "GA": {}, + "IN": {}, + "IA": {}, + "MA": {}, + "AZ": {}, + "ID": {}, + "CT": {}, + "ME": {}, + "MD": {}, + "OK": {}, + "OH": {}, + "UT": {}, + "MO": {}, + "MN": {}, + "MI": {}, + "KS": {}, + "MT": {}, + "MS": {}, + "SC": {}, + "KY": {}, + "OR": {}, + "SD": {} + }, + "edges": { + "WA": { + "OR": {} + }, + "DE": { + "MD": {} + }, + "DC": { + "MD": {} + }, + "WI": { + "MN": {}, + "MI": {} + }, + "WV": { + "MD": {}, + "KY": {}, + "OH": {} + }, + "WY": { + "MT": {}, + "SD": {}, + "UT": {} + }, + "NH": { + "ME": {}, + "MA": {} + }, + "NJ": { + "NY": {}, + "PA": {}, + "DE": {} + }, + "NM": { + "OK": {}, + "TX": {} + }, + "TX": { + "OK": {}, + "LA": {} + }, + "LA": { + "MS": {} + }, + "NC": { + "TN": {}, + "SC": {} + }, + "ND": { + "MT": {}, + "MN": {}, + "SD": {} + }, + "NE": { + "KS": {}, + "MO": {}, + "WY": {}, + "SD": {} + }, + "TN": { + "MO": {}, + "KY": {}, + "MS": {} + }, + "NY": { + "PA": {}, + "MA": {} + }, + "PA": { + "MD": {}, + "DE": {}, + "WV": {}, + "OH": {} + }, + "RI": { + "MA": {} + }, + "NV": { + "UT": {}, + "OR": {} + }, + "VA": { + "MD": {}, + "NC": {}, + "DC": {}, + "TN": {}, + "WV": {}, + "KY": {} + }, + "CO": { + "OK": {}, + "NM": {}, + "UT": {}, + "NE": {}, + "KS": {}, + "WY": {} + }, + "CA": { + "AZ": {}, + "OR": {}, + "NV": {} + }, + "AL": { + "TN": {}, + "FL": {}, + "MS": {}, + "GA": {} + }, + "AR": { + "OK": {}, + "TX": {}, + "LA": {}, + "MO": {}, + "TN": {}, + "MS": {} + }, + "VT": { + "NH": {}, + "NY": {}, + "MA": {} + }, + "IL": { + "IA": {}, + "KY": {}, + "MO": {}, + "WI": {}, + "IN": {} + }, + "GA": { + "SC": {}, + "TN": {}, + "NC": {}, + "FL": {} + }, + "IN": { + "KY": {}, + "MI": {}, + "OH": {} + }, + "IA": { + "MO": {}, + "MN": {}, + "NE": {}, + "WI": {}, + "SD": {} + }, + "AZ": { + "UT": {}, + "NM": {}, + "NV": {} + }, + "ID": { + "WA": {}, + "UT": {}, + "MT": {}, + "WY": {}, + "OR": {}, + "NV": {} + }, + "CT": { + "NY": {}, + "MA": {}, + "RI": {} + }, + "OK": { + "KS": {}, + "MO": {} + }, + "OH": { + "KY": {}, + "MI": {} + }, + "MO": { + "KS": {}, + "KY": {} + }, + "MN": { + "SD": {} + }, + "MT": { + "SD": {} + } + } +} diff --git a/demos/halfviz/library/a-new-hope.json b/demos/halfviz/library/a-new-hope.json index 0861bec..2a34aca 100644 --- a/demos/halfviz/library/a-new-hope.json +++ b/demos/halfviz/library/a-new-hope.json @@ -1 +1,13 @@ -{"_id":"a-new-hope","_rev":"1-6d9c51704ad48070adf35333f743d14a","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOSWA 1 (1998)\n; A New Hope\n; by Christopher Golden\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 14\n1 -> 69\n5 -> 2\n5 -> 97\n7 -> 52\n7 -> 95\n16 -> 5\n16 -> 33\n19 -> 67\n19 -> 20\n20 -> 103\n20 -> 16\n26 -> 85\n26 -> 7\n33 -> 37\n33 -> 116\n69 -> 6\n69 -> 26\n72 -> 84\n72 -> 23\n72 -> 93\n85 -> 59\n85 -> 19\n93 -> 87\n93 -> 94\n95 -> 10\n95 -> 117\n117 -> 109\n117 -> 72\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n2 {color:#95cde5}\n6 {color:#db8e3c}\n10 {color:#c6531e}\n14 {color:#c6531e}\n23 {color:#ffe35f}\n37 {color:#95cde5}\n52 {color:#db8e3c}\n59 {color:#db8e3c}\n67 {color:#95cde5}\n84 {color:#c6531e}\n87 {color:#db8e3c}\n94 {color:#c6531e}\n97 {color:#b01700}\n103 {color:#b01700}\n109 {color:#95cde5}\n116 {color:#95cde5}","example":"cyoa","title":"A New Hope"} +{ + "src": ";\n; CYOSWA 1 (1998)\n; A New Hope\n; by Christopher Golden\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 14\n1 -> 69\n5 -> 2\n5 -> 97\n7 -> 52\n7 -> 95\n16 -> 5\n16 -> 33\n19 -> 67\n19 -> 20\n20 -> 103\n20 -> 16\n26 -> 85\n26 -> 7\n33 -> 37\n33 -> 116\n69 -> 6\n69 -> 26\n72 -> 84\n72 -> 23\n72 -> 93\n85 -> 59\n85 -> 19\n93 -> 87\n93 -> 94\n95 -> 10\n95 -> 117\n117 -> 109\n117 -> 72\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n2 {color:#95cde5}\n6 {color:#db8e3c}\n10 {color:#c6531e}\n14 {color:#c6531e}\n23 {color:#ffe35f}\n37 {color:#95cde5}\n52 {color:#db8e3c}\n59 {color:#db8e3c}\n67 {color:#95cde5}\n84 {color:#c6531e}\n87 {color:#db8e3c}\n94 {color:#c6531e}\n97 {color:#b01700}\n103 {color:#b01700}\n109 {color:#95cde5}\n116 {color:#95cde5}", + "title": "A New Hope", + "_rev": "1-6d9c51704ad48070adf35333f743d14a", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "a-new-hope", + "example": "cyoa" +} diff --git a/demos/halfviz/library/case-of-the-silk-king.json b/demos/halfviz/library/case-of-the-silk-king.json index 1fbfe85..08100f7 100644 --- a/demos/halfviz/library/case-of-the-silk-king.json +++ b/demos/halfviz/library/case-of-the-silk-king.json @@ -1 +1,13 @@ -{"_id":"case-of-the-silk-king","_rev":"1-e8ceaebda42a2c5a76d6684ff9d867da","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 53 (1986)\n; Case Of The Silk King\n; by Shannon Gilligan\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 4\n1 -> 12\n4 -> 21\n4 -> 23\n7 -> 34\n7 -> 13\n7 -> 44\n12 -> 25\n12 -> 24\n23 -> 50\n23 -> 53\n24 -> 6\n24 -> 42\n25 -> 94\n25 -> 66\n32 -> 47\n32 -> 84\n42 -> 32\n42 -> 7\n50 -> 72\n50 -> 65\n53 -> 67\n53 -> 68\n66 -> 79\n66 -> 80\n67 -> 88\n67 -> 83\n68 -> 77\n68 -> 91\n80 -> 99\n80 -> 97\n88 -> 110\n88 -> 104\n91 -> 106\n91 -> 100\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n6 {color:#c6531e}\n13 {color:#c6531e}\n21 {color:#c6531e}\n34 {color:#db8e3c}\n44 {color:#b01700}\n47 {color:#ffe35f}\n65 {color:#c6531e}\n72 {color:#b01700}\n77 {color:#b01700}\n79 {color:#b01700}\n83 {color:#b01700}\n84 {color:#b01700}\n94 {color:#b01700}\n97 {color:#db8e3c}\n99 {color:#95cde5}\n100 {color:#ffe35f}\n104 {color:#c6531e}\n106 {color:#ffe35f}\n110 {color:#b01700}","example":"cyoa","title":"Case Of The Silk King"} +{ + "src": ";\n; CYOA 53 (1986)\n; Case Of The Silk King\n; by Shannon Gilligan\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 4\n1 -> 12\n4 -> 21\n4 -> 23\n7 -> 34\n7 -> 13\n7 -> 44\n12 -> 25\n12 -> 24\n23 -> 50\n23 -> 53\n24 -> 6\n24 -> 42\n25 -> 94\n25 -> 66\n32 -> 47\n32 -> 84\n42 -> 32\n42 -> 7\n50 -> 72\n50 -> 65\n53 -> 67\n53 -> 68\n66 -> 79\n66 -> 80\n67 -> 88\n67 -> 83\n68 -> 77\n68 -> 91\n80 -> 99\n80 -> 97\n88 -> 110\n88 -> 104\n91 -> 106\n91 -> 100\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n6 {color:#c6531e}\n13 {color:#c6531e}\n21 {color:#c6531e}\n34 {color:#db8e3c}\n44 {color:#b01700}\n47 {color:#ffe35f}\n65 {color:#c6531e}\n72 {color:#b01700}\n77 {color:#b01700}\n79 {color:#b01700}\n83 {color:#b01700}\n84 {color:#b01700}\n94 {color:#b01700}\n97 {color:#db8e3c}\n99 {color:#95cde5}\n100 {color:#ffe35f}\n104 {color:#c6531e}\n106 {color:#ffe35f}\n110 {color:#b01700}", + "title": "Case Of The Silk King", + "_rev": "1-e8ceaebda42a2c5a76d6684ff9d867da", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "case-of-the-silk-king", + "example": "cyoa" +} diff --git a/demos/halfviz/library/cube.json b/demos/halfviz/library/cube.json index 5ea2d40..7418f90 100644 --- a/demos/halfviz/library/cube.json +++ b/demos/halfviz/library/cube.json @@ -1 +1,13 @@ -{"_id":"cube","_rev":"1-9405f221c6d6391d7950c28b268f767d","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":false},"src":"{color:none, label:\u00b7}\n-> {color:#aa9}\n\n1 -- 2\n3 -- 4\n2 -- 3\n4 -- 1\n2 -- 5\n5 -- 6\n6 -- 1\n5 -- 7\n7 -- 3\n7 -- 8\n8 -- 4\n8 -- 6\n\n","example":"doodle","title":"Cube"} +{ + "src": "{color:none, label:\u00b7}\n-> {color:#aa9}\n\n1 -- 2\n3 -- 4\n2 -- 3\n4 -- 1\n2 -- 5\n5 -- 6\n6 -- 1\n5 -- 7\n7 -- 3\n7 -- 8\n8 -- 4\n8 -- 6\n\n", + "title": "Cube", + "_rev": "1-9405f221c6d6391d7950c28b268f767d", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": false + }, + "_id": "cube", + "example": "doodle" +} diff --git a/demos/halfviz/library/date-with-destiny.json b/demos/halfviz/library/date-with-destiny.json index 3c490c7..3622254 100644 --- a/demos/halfviz/library/date-with-destiny.json +++ b/demos/halfviz/library/date-with-destiny.json @@ -1 +1,13 @@ -{"_id":"date-with-destiny","_rev":"1-581cff1c6caa9c74d9e81b483a300ac2","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; DWD 1 (2003)\n; Date with Destiny\n; by Miranda Clarke\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 3\n1 -> 10\n2 -> 131\n2 -> 35\n3 -> 9\n3 -> 21\n3 -> 58\n4 -> 120\n4 -> 124\n5 -> 57\n5 -> 91\n6 -> 5\n6 -> 50\n8 -> 81\n8 -> 59\n10 -> 87\n10 -> 6\n11 -> 87\n13 -> 23\n13 -> 72\n18 -> 44\n18 -> 31\n23 -> 112\n24 -> 10\n25 -> 118\n25 -> 4\n26 -> 114\n31 -> 92\n31 -> 77\n36 -> 130\n36 -> 7\n44 -> 77\n50 -> 54\n50 -> 82\n50 -> 8\n54 -> 91\n59 -> 30\n59 -> 25\n62 -> 55\n62 -> 74\n64 -> 123\n64 -> 116\n66 -> 129\n66 -> 36\n72 -> 106\n72 -> 18\n74 -> 93\n74 -> 26\n77 -> 90\n77 -> 24\n79 -> 11\n79 -> 13\n82 -> 54\n82 -> 8\n84 -> 64\n84 -> 66\n87 -> 22\n87 -> 121\n91 -> 81\n91 -> 79\n91 -> 105\n93 -> 133\n93 -> 114\n105 -> 97\n105 -> 122\n106 -> 112\n106 -> 18\n112 -> 19\n112 -> 83\n113 -> 103\n113 -> 84\n114 -> 88\n114 -> 39\n114 -> 67\n116 -> 36\n121 -> 2\n121 -> 35\n121 -> 131\n124 -> 40\n124 -> 113\n131 -> 65\n131 -> 62\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n7 {color:#c6531e}\n9 {color:#c6531e}\n19 {color:#c6531e}\n21 {color:#c6531e}\n22 {color:#c6531e}\n30 {color:#db8e3c}\n35 {color:#c6531e}\n35 {color:#c6531e}\n39 {color:#ffe35f}\n40 {color:#c6531e}\n55 {color:#c6531e}\n57 {color:#c6531e}\n58 {color:#c6531e}\n65 {color:#95cde5}\n67 {color:#95cde5}\n81 {color:#c6531e}\n81 {color:#c6531e}\n83 {color:#db8e3c}\n88 {color:#ffe35f}\n90 {color:#95cde5}\n92 {color:#95cde5}\n97 {color:#ffe35f}\n103 {color:#c6531e}\n118 {color:#c6531e}\n120 {color:#c6531e}\n122 {color:#ffe35f}\n123 {color:#b01700}\n129 {color:#b01700}\n130 {color:#95cde5}\n133 {color:#c6531e}","example":"cyoa","title":"Date with Destiny "} +{ + "src": ";\n; DWD 1 (2003)\n; Date with Destiny\n; by Miranda Clarke\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 3\n1 -> 10\n2 -> 131\n2 -> 35\n3 -> 9\n3 -> 21\n3 -> 58\n4 -> 120\n4 -> 124\n5 -> 57\n5 -> 91\n6 -> 5\n6 -> 50\n8 -> 81\n8 -> 59\n10 -> 87\n10 -> 6\n11 -> 87\n13 -> 23\n13 -> 72\n18 -> 44\n18 -> 31\n23 -> 112\n24 -> 10\n25 -> 118\n25 -> 4\n26 -> 114\n31 -> 92\n31 -> 77\n36 -> 130\n36 -> 7\n44 -> 77\n50 -> 54\n50 -> 82\n50 -> 8\n54 -> 91\n59 -> 30\n59 -> 25\n62 -> 55\n62 -> 74\n64 -> 123\n64 -> 116\n66 -> 129\n66 -> 36\n72 -> 106\n72 -> 18\n74 -> 93\n74 -> 26\n77 -> 90\n77 -> 24\n79 -> 11\n79 -> 13\n82 -> 54\n82 -> 8\n84 -> 64\n84 -> 66\n87 -> 22\n87 -> 121\n91 -> 81\n91 -> 79\n91 -> 105\n93 -> 133\n93 -> 114\n105 -> 97\n105 -> 122\n106 -> 112\n106 -> 18\n112 -> 19\n112 -> 83\n113 -> 103\n113 -> 84\n114 -> 88\n114 -> 39\n114 -> 67\n116 -> 36\n121 -> 2\n121 -> 35\n121 -> 131\n124 -> 40\n124 -> 113\n131 -> 65\n131 -> 62\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n7 {color:#c6531e}\n9 {color:#c6531e}\n19 {color:#c6531e}\n21 {color:#c6531e}\n22 {color:#c6531e}\n30 {color:#db8e3c}\n35 {color:#c6531e}\n35 {color:#c6531e}\n39 {color:#ffe35f}\n40 {color:#c6531e}\n55 {color:#c6531e}\n57 {color:#c6531e}\n58 {color:#c6531e}\n65 {color:#95cde5}\n67 {color:#95cde5}\n81 {color:#c6531e}\n81 {color:#c6531e}\n83 {color:#db8e3c}\n88 {color:#ffe35f}\n90 {color:#95cde5}\n92 {color:#95cde5}\n97 {color:#ffe35f}\n103 {color:#c6531e}\n118 {color:#c6531e}\n120 {color:#c6531e}\n122 {color:#ffe35f}\n123 {color:#b01700}\n129 {color:#b01700}\n130 {color:#95cde5}\n133 {color:#c6531e}", + "title": "Date with Destiny ", + "_rev": "1-581cff1c6caa9c74d9e81b483a300ac2", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "date-with-destiny", + "example": "cyoa" +} diff --git a/demos/halfviz/library/house-of-danger.json b/demos/halfviz/library/house-of-danger.json index e8ff033..52ef94c 100644 --- a/demos/halfviz/library/house-of-danger.json +++ b/demos/halfviz/library/house-of-danger.json @@ -1 +1,13 @@ -{"_id":"house-of-danger","_rev":"1-71d4350a87e57e5f8df3d2e9828f6e0c","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 15 (1982)\n; House of Danger\n; by R.A. Montgomery\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 2\n2 -> 6\n3 -> 10\n4 -> 9\n6 -> 7\n7 -> 4\n7 -> 13\n9 -> 29\n9 -> 3\n10 -> 63\n10 -> 14\n11 -> 16\n12 -> 24\n13 -> 26\n14 -> 12\n15 -> 19\n18 -> 32\n18 -> 34\n19 -> 28\n21 -> 22\n22 -> 23\n24 -> 11\n26 -> 27\n27 -> 15\n27 -> 87\n28 -> 21\n28 -> 41\n29 -> 18\n31 -> 40\n32 -> 59\n34 -> 36\n36 -> 70\n37 -> 31\n37 -> 50\n38 -> 39\n40 -> 38\n41 -> 46\n44 -> 45\n46 -> 52\n47 -> 49\n50 -> 51\n51 -> 54\n52 -> 53\n53 -> 47\n53 -> 44\n54 -> 60\n54 -> 69\n55 -> 57\n55 -> 62\n58 -> 37\n58 -> 43\n60 -> 55\n63 -> 64\n63 -> 77\n64 -> 65\n64 -> 79\n65 -> 67\n67 -> 68\n68 -> 72\n68 -> 97\n70 -> 58\n72 -> 75\n72 -> 73\n73 -> 74\n75 -> 81\n77 -> 78\n78 -> 80\n79 -> 84\n80 -> 82\n82 -> 83\n84 -> 85\n85 -> 86\n85 -> 88\n86 -> 94\n87 -> 90\n90 -> 91\n91 -> 92\n92 -> 93\n92 -> 99\n93 -> 102\n96 -> 101\n97 -> 33\n99 -> 100\n100 -> 104\n100 -> 105\n102 -> 103\n103 -> 106\n104 -> 96\n104 -> 108\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n16 {color:#b01700}\n23 {color:#b01700}\n33 {color:#b01700}\n39 {color:#ffe35f}\n43 {color:#b01700}\n45 {color:#ffe35f}\n49 {color:#db8e3c}\n57 {color:#95cde5}\n59 {color:#c6531e}\n62 {color:#95cde5}\n69 {color:#b01700}\n74 {color:#ffe35f}\n81 {color:#db8e3c}\n83 {color:#db8e3c}\n88 {color:#b01700}\n94 {color:#db8e3c}\n101 {color:#c6531e}\n105 {color:#b01700}\n106 {color:#95cde5}\n108 {color:#c6531e}","example":"cyoa","title":"House of Danger"} +{ + "src": ";\n; CYOA 15 (1982)\n; House of Danger\n; by R.A. Montgomery\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 2\n2 -> 6\n3 -> 10\n4 -> 9\n6 -> 7\n7 -> 4\n7 -> 13\n9 -> 29\n9 -> 3\n10 -> 63\n10 -> 14\n11 -> 16\n12 -> 24\n13 -> 26\n14 -> 12\n15 -> 19\n18 -> 32\n18 -> 34\n19 -> 28\n21 -> 22\n22 -> 23\n24 -> 11\n26 -> 27\n27 -> 15\n27 -> 87\n28 -> 21\n28 -> 41\n29 -> 18\n31 -> 40\n32 -> 59\n34 -> 36\n36 -> 70\n37 -> 31\n37 -> 50\n38 -> 39\n40 -> 38\n41 -> 46\n44 -> 45\n46 -> 52\n47 -> 49\n50 -> 51\n51 -> 54\n52 -> 53\n53 -> 47\n53 -> 44\n54 -> 60\n54 -> 69\n55 -> 57\n55 -> 62\n58 -> 37\n58 -> 43\n60 -> 55\n63 -> 64\n63 -> 77\n64 -> 65\n64 -> 79\n65 -> 67\n67 -> 68\n68 -> 72\n68 -> 97\n70 -> 58\n72 -> 75\n72 -> 73\n73 -> 74\n75 -> 81\n77 -> 78\n78 -> 80\n79 -> 84\n80 -> 82\n82 -> 83\n84 -> 85\n85 -> 86\n85 -> 88\n86 -> 94\n87 -> 90\n90 -> 91\n91 -> 92\n92 -> 93\n92 -> 99\n93 -> 102\n96 -> 101\n97 -> 33\n99 -> 100\n100 -> 104\n100 -> 105\n102 -> 103\n103 -> 106\n104 -> 96\n104 -> 108\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n16 {color:#b01700}\n23 {color:#b01700}\n33 {color:#b01700}\n39 {color:#ffe35f}\n43 {color:#b01700}\n45 {color:#ffe35f}\n49 {color:#db8e3c}\n57 {color:#95cde5}\n59 {color:#c6531e}\n62 {color:#95cde5}\n69 {color:#b01700}\n74 {color:#ffe35f}\n81 {color:#db8e3c}\n83 {color:#db8e3c}\n88 {color:#b01700}\n94 {color:#db8e3c}\n101 {color:#c6531e}\n105 {color:#b01700}\n106 {color:#95cde5}\n108 {color:#c6531e}", + "title": "House of Danger", + "_rev": "1-71d4350a87e57e5f8df3d2e9828f6e0c", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "house-of-danger", + "example": "cyoa" +} diff --git a/demos/halfviz/library/inside-ufo-54-40.json b/demos/halfviz/library/inside-ufo-54-40.json index fa5efbe..f385be6 100644 --- a/demos/halfviz/library/inside-ufo-54-40.json +++ b/demos/halfviz/library/inside-ufo-54-40.json @@ -1 +1,13 @@ -{"_id":"inside-ufo-54-40","_rev":"1-82f863ede01b5f015bbabecfec13cbf5","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 12 (1982)\n; Inside UFO 54-40\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 6\n3 -> 5\n3 -> 16\n3 -> 8\n4 -> 22\n4 -> 25\n5 -> 11\n5 -> 14\n6 -> 3\n6 -> 4\n8 -> 10\n10 -> 15\n10 -> 18\n11 -> 111\n15 -> 54\n16 -> 30\n16 -> 32\n18 -> 34\n18 -> 36\n20 -> 57\n20 -> 58\n22 -> 37\n22 -> 117\n25 -> 114\n28 -> 112\n30 -> 48\n30 -> 49\n32 -> 117\n34 -> 40\n34 -> 51\n36 -> 52\n36 -> 65\n37 -> 61\n37 -> 64\n38 -> 75\n38 -> 76\n38 -> 79\n42 -> 27\n42 -> 99\n43 -> 44\n43 -> 46\n44 -> 71\n48 -> 113\n52 -> 82\n54 -> 56\n56 -> 27\n56 -> 28\n57 -> 91\n64 -> 63\n64 -> 107\n65 -> 93\n65 -> 118\n69 -> 88\n69 -> 100\n76 -> 80\n76 -> 83\n80 -> 98\n80 -> 90\n82 -> 87\n82 -> 85\n83 -> 94\n85 -> 86\n86 -> 73\n91 -> 92\n94 -> 96\n96 -> 116\n101 -> 104\n105 -> 106\n107 -> 108\n108 -> 105\n108 -> 97\n111 -> 20\n111 -> 21\n112 -> 42\n112 -> 43\n113 -> 69\n113 -> 67\n114 -> 41\n114 -> 50\n117 -> 38\n117 -> 8\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n14 {color:#c6531e}\n21 {color:#db8e3c}\n27 {color:#db8e3c}\n40 {color:#b01700}\n41 {color:#db8e3c}\n46 {color:#b01700}\n49 {color:#c6531e}\n50 {color:#db8e3c}\n51 {color:#c6531e}\n58 {color:#95cde5}\n61 {color:#b01700}\n63 {color:#c6531e}\n67 {color:#ffe35f}\n71 {color:#ffe35f}\n73 {color:#db8e3c}\n75 {color:#c6531e}\n79 {color:#b01700}\n87 {color:#b01700}\n88 {color:#c6531e}\n90 {color:#b01700}\n92 {color:#db8e3c}\n93 {color:#b01700}\n97 {color:#b01700}\n98 {color:#95cde5}\n99 {color:#b01700}\n100 {color:#ffe35f}\n104 {color:#95cde5}\n106 {color:#95cde5}\n116 {color:#95cde5}\n118 {color:#95cde5}","example":"cyoa","title":"Inside UFO 54-40"} +{ + "src": ";\n; CYOA 12 (1982)\n; Inside UFO 54-40\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 6\n3 -> 5\n3 -> 16\n3 -> 8\n4 -> 22\n4 -> 25\n5 -> 11\n5 -> 14\n6 -> 3\n6 -> 4\n8 -> 10\n10 -> 15\n10 -> 18\n11 -> 111\n15 -> 54\n16 -> 30\n16 -> 32\n18 -> 34\n18 -> 36\n20 -> 57\n20 -> 58\n22 -> 37\n22 -> 117\n25 -> 114\n28 -> 112\n30 -> 48\n30 -> 49\n32 -> 117\n34 -> 40\n34 -> 51\n36 -> 52\n36 -> 65\n37 -> 61\n37 -> 64\n38 -> 75\n38 -> 76\n38 -> 79\n42 -> 27\n42 -> 99\n43 -> 44\n43 -> 46\n44 -> 71\n48 -> 113\n52 -> 82\n54 -> 56\n56 -> 27\n56 -> 28\n57 -> 91\n64 -> 63\n64 -> 107\n65 -> 93\n65 -> 118\n69 -> 88\n69 -> 100\n76 -> 80\n76 -> 83\n80 -> 98\n80 -> 90\n82 -> 87\n82 -> 85\n83 -> 94\n85 -> 86\n86 -> 73\n91 -> 92\n94 -> 96\n96 -> 116\n101 -> 104\n105 -> 106\n107 -> 108\n108 -> 105\n108 -> 97\n111 -> 20\n111 -> 21\n112 -> 42\n112 -> 43\n113 -> 69\n113 -> 67\n114 -> 41\n114 -> 50\n117 -> 38\n117 -> 8\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n14 {color:#c6531e}\n21 {color:#db8e3c}\n27 {color:#db8e3c}\n40 {color:#b01700}\n41 {color:#db8e3c}\n46 {color:#b01700}\n49 {color:#c6531e}\n50 {color:#db8e3c}\n51 {color:#c6531e}\n58 {color:#95cde5}\n61 {color:#b01700}\n63 {color:#c6531e}\n67 {color:#ffe35f}\n71 {color:#ffe35f}\n73 {color:#db8e3c}\n75 {color:#c6531e}\n79 {color:#b01700}\n87 {color:#b01700}\n88 {color:#c6531e}\n90 {color:#b01700}\n92 {color:#db8e3c}\n93 {color:#b01700}\n97 {color:#b01700}\n98 {color:#95cde5}\n99 {color:#b01700}\n100 {color:#ffe35f}\n104 {color:#95cde5}\n106 {color:#95cde5}\n116 {color:#95cde5}\n118 {color:#95cde5}", + "title": "Inside UFO 54-40", + "_rev": "1-82f863ede01b5f015bbabecfec13cbf5", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "inside-ufo-54-40", + "example": "cyoa" +} diff --git a/demos/halfviz/library/journey-under-the-sea.json b/demos/halfviz/library/journey-under-the-sea.json index f02441c..f195abd 100644 --- a/demos/halfviz/library/journey-under-the-sea.json +++ b/demos/halfviz/library/journey-under-the-sea.json @@ -1 +1,13 @@ -{"_id":"journey-under-the-sea","_rev":"1-2f2f958b6519c47b5d05534ceb78ad17","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 2 (1979)\n; Journey Under the Sea\n; by R.A. Montgomery\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n2 -> 6\n2 -> 4\n3 -> 9\n3 -> 14\n4 -> 3\n4 -> 8\n6 -> 7\n7 -> 10\n7 -> 12\n8 -> 18\n8 -> 13\n9 -> 25\n9 -> 21\n10 -> 17\n10 -> 19\n12 -> 20\n12 -> 22\n13 -> 24\n13 -> 27\n14 -> 23\n14 -> 26\n17 -> 31\n17 -> 32\n18 -> 28\n18 -> 30\n19 -> 34\n19 -> 36\n21 -> 38\n21 -> 33\n25 -> 6\n26 -> 40\n26 -> 39\n27 -> 42\n27 -> 43\n28 -> 29\n29 -> 44\n29 -> 45\n32 -> 47\n32 -> 48\n33 -> 51\n33 -> 53\n34 -> 50\n34 -> 49\n38 -> 54\n38 -> 52\n40 -> 55\n40 -> 56\n42 -> 57\n42 -> 58\n43 -> 6\n44 -> 59\n44 -> 60\n45 -> 64\n45 -> 62\n47 -> 63\n47 -> 66\n48 -> 50\n50 -> 8\n51 -> 67\n51 -> 68\n52 -> 74\n52 -> 75\n53 -> 69\n53 -> 70\n54 -> 71\n54 -> 72\n55 -> 76\n55 -> 77\n56 -> 78\n56 -> 79\n59 -> 80\n59 -> 82\n60 -> 81\n60 -> 84\n63 -> 87\n63 -> 88\n64 -> 62\n64 -> 83\n64 -> 86\n66 -> 31\n67 -> 6\n69 -> 96\n69 -> 97\n70 -> 98\n70 -> 99\n71 -> 90\n71 -> 89\n74 -> 92\n74 -> 93\n75 -> 106\n79 -> 51\n81 -> 116\n81 -> 117\n82 -> 112\n82 -> 114\n87 -> 94\n87 -> 95\n89 -> 101\n89 -> 103\n90 -> 100\n90 -> 102\n93 -> 104\n93 -> 105\n95 -> 111\n95 -> 110\n99 -> 54\n\n; endings\n2 {color:#444, shape:dot, label:\u00b7}\n20 {color:#c6531e}\n22 {color:#b01700}\n23 {color:#b01700}\n24 {color:#b01700}\n30 {color:#db8e3c}\n31 {color:#c6531e}\n36 {color:#b01700}\n39 {color:#db8e3c}\n49 {color:#db8e3c}\n57 {color:#ffe35f}\n58 {color:#db8e3c}\n62 {color:#b01700}\n68 {color:#c6531e}\n72 {color:#c6531e}\n76 {color:#ffe35f}\n77 {color:#c6531e}\n78 {color:#ffe35f}\n80 {color:#95cde5}\n83 {color:#ffe35f}\n84 {color:#95cde5}\n86 {color:#db8e3c}\n88 {color:#c6531e}\n92 {color:#b01700}\n94 {color:#b01700}\n96 {color:#ffe35f}\n97 {color:#b01700}\n98 {color:#ffe35f}\n100 {color:#db8e3c}\n101 {color:#db8e3c}\n102 {color:#95cde5}\n103 {color:#95cde5}\n104 {color:#ffe35f}\n105 {color:#b01700}\n106 {color:#ffe35f}\n110 {color:#ffe35f}\n111 {color:#ffe35f}\n112 {color:#95cde5}\n114 {color:#ffe35f}\n116 {color:#b01700}\n117 {color:#95cde5}","example":"cyoa","title":"Journey Under the Sea"} +{ + "src": ";\n; CYOA 2 (1979)\n; Journey Under the Sea\n; by R.A. Montgomery\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n2 -> 6\n2 -> 4\n3 -> 9\n3 -> 14\n4 -> 3\n4 -> 8\n6 -> 7\n7 -> 10\n7 -> 12\n8 -> 18\n8 -> 13\n9 -> 25\n9 -> 21\n10 -> 17\n10 -> 19\n12 -> 20\n12 -> 22\n13 -> 24\n13 -> 27\n14 -> 23\n14 -> 26\n17 -> 31\n17 -> 32\n18 -> 28\n18 -> 30\n19 -> 34\n19 -> 36\n21 -> 38\n21 -> 33\n25 -> 6\n26 -> 40\n26 -> 39\n27 -> 42\n27 -> 43\n28 -> 29\n29 -> 44\n29 -> 45\n32 -> 47\n32 -> 48\n33 -> 51\n33 -> 53\n34 -> 50\n34 -> 49\n38 -> 54\n38 -> 52\n40 -> 55\n40 -> 56\n42 -> 57\n42 -> 58\n43 -> 6\n44 -> 59\n44 -> 60\n45 -> 64\n45 -> 62\n47 -> 63\n47 -> 66\n48 -> 50\n50 -> 8\n51 -> 67\n51 -> 68\n52 -> 74\n52 -> 75\n53 -> 69\n53 -> 70\n54 -> 71\n54 -> 72\n55 -> 76\n55 -> 77\n56 -> 78\n56 -> 79\n59 -> 80\n59 -> 82\n60 -> 81\n60 -> 84\n63 -> 87\n63 -> 88\n64 -> 62\n64 -> 83\n64 -> 86\n66 -> 31\n67 -> 6\n69 -> 96\n69 -> 97\n70 -> 98\n70 -> 99\n71 -> 90\n71 -> 89\n74 -> 92\n74 -> 93\n75 -> 106\n79 -> 51\n81 -> 116\n81 -> 117\n82 -> 112\n82 -> 114\n87 -> 94\n87 -> 95\n89 -> 101\n89 -> 103\n90 -> 100\n90 -> 102\n93 -> 104\n93 -> 105\n95 -> 111\n95 -> 110\n99 -> 54\n\n; endings\n2 {color:#444, shape:dot, label:\u00b7}\n20 {color:#c6531e}\n22 {color:#b01700}\n23 {color:#b01700}\n24 {color:#b01700}\n30 {color:#db8e3c}\n31 {color:#c6531e}\n36 {color:#b01700}\n39 {color:#db8e3c}\n49 {color:#db8e3c}\n57 {color:#ffe35f}\n58 {color:#db8e3c}\n62 {color:#b01700}\n68 {color:#c6531e}\n72 {color:#c6531e}\n76 {color:#ffe35f}\n77 {color:#c6531e}\n78 {color:#ffe35f}\n80 {color:#95cde5}\n83 {color:#ffe35f}\n84 {color:#95cde5}\n86 {color:#db8e3c}\n88 {color:#c6531e}\n92 {color:#b01700}\n94 {color:#b01700}\n96 {color:#ffe35f}\n97 {color:#b01700}\n98 {color:#ffe35f}\n100 {color:#db8e3c}\n101 {color:#db8e3c}\n102 {color:#95cde5}\n103 {color:#95cde5}\n104 {color:#ffe35f}\n105 {color:#b01700}\n106 {color:#ffe35f}\n110 {color:#ffe35f}\n111 {color:#ffe35f}\n112 {color:#95cde5}\n114 {color:#ffe35f}\n116 {color:#b01700}\n117 {color:#95cde5}", + "title": "Journey Under the Sea", + "_rev": "1-2f2f958b6519c47b5d05534ceb78ad17", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "journey-under-the-sea", + "example": "cyoa" +} diff --git a/demos/halfviz/library/mystery-of-the-secret-room.json b/demos/halfviz/library/mystery-of-the-secret-room.json index 209b5fe..d46ae30 100644 --- a/demos/halfviz/library/mystery-of-the-secret-room.json +++ b/demos/halfviz/library/mystery-of-the-secret-room.json @@ -1 +1,13 @@ -{"_id":"mystery-of-the-secret-room","_rev":"1-058a97024fc92a7254f3d02a4fbfe7c9","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 63 (1986)\n; Mystery of the Secret Room\n; by Ellen Kushner\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 91\n1 -> 31\n3 -> 56\n3 -> 16\n7 -> 109\n7 -> 94\n11 -> 33\n11 -> 51\n13 -> 36\n13 -> 65\n16 -> 91\n16 -> 60\n23 -> 86\n23 -> 117\n24 -> 40\n24 -> 11\n24 -> 11\n29 -> 88\n31 -> 13\n31 -> 100\n33 -> 107\n33 -> 62\n36 -> 8\n36 -> 104\n37 -> 14\n37 -> 29\n40 -> 85\n40 -> 70\n60 -> 67\n60 -> 96\n66 -> 103\n66 -> 39\n70 -> 76\n74 -> 93\n74 -> 4\n74 -> 108\n76 -> 52\n76 -> 66\n88 -> 24\n88 -> 76\n91 -> 88\n91 -> 37\n93 -> 41\n93 -> 114\n94 -> 43\n94 -> 102\n96 -> 44\n96 -> 7\n100 -> 42\n100 -> 110\n104 -> 3\n104 -> 74\n110 -> 23\n110 -> 17\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n4 {color:#c6531e}\n8 {color:#ffe35f}\n14 {color:#db8e3c}\n17 {color:#95cde5}\n39 {color:#b01700}\n41 {color:#c6531e}\n42 {color:#c6531e}\n43 {color:#db8e3c}\n44 {color:#b01700}\n51 {color:#ffe35f}\n52 {color:#c6531e}\n56 {color:#95cde5}\n62 {color:#c6531e}\n65 {color:#b01700}\n67 {color:#c6531e}\n85 {color:#ffe35f}\n86 {color:#b01700}\n102 {color:#db8e3c}\n103 {color:#db8e3c}\n107 {color:#db8e3c}\n108 {color:#b01700}\n109 {color:#c6531e}\n114 {color:#95cde5}\n117 {color:#ffe35f}","example":"cyoa","title":"Mystery of the Secret Room"} +{ + "src": ";\n; CYOA 63 (1986)\n; Mystery of the Secret Room\n; by Ellen Kushner\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 91\n1 -> 31\n3 -> 56\n3 -> 16\n7 -> 109\n7 -> 94\n11 -> 33\n11 -> 51\n13 -> 36\n13 -> 65\n16 -> 91\n16 -> 60\n23 -> 86\n23 -> 117\n24 -> 40\n24 -> 11\n24 -> 11\n29 -> 88\n31 -> 13\n31 -> 100\n33 -> 107\n33 -> 62\n36 -> 8\n36 -> 104\n37 -> 14\n37 -> 29\n40 -> 85\n40 -> 70\n60 -> 67\n60 -> 96\n66 -> 103\n66 -> 39\n70 -> 76\n74 -> 93\n74 -> 4\n74 -> 108\n76 -> 52\n76 -> 66\n88 -> 24\n88 -> 76\n91 -> 88\n91 -> 37\n93 -> 41\n93 -> 114\n94 -> 43\n94 -> 102\n96 -> 44\n96 -> 7\n100 -> 42\n100 -> 110\n104 -> 3\n104 -> 74\n110 -> 23\n110 -> 17\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n4 {color:#c6531e}\n8 {color:#ffe35f}\n14 {color:#db8e3c}\n17 {color:#95cde5}\n39 {color:#b01700}\n41 {color:#c6531e}\n42 {color:#c6531e}\n43 {color:#db8e3c}\n44 {color:#b01700}\n51 {color:#ffe35f}\n52 {color:#c6531e}\n56 {color:#95cde5}\n62 {color:#c6531e}\n65 {color:#b01700}\n67 {color:#c6531e}\n85 {color:#ffe35f}\n86 {color:#b01700}\n102 {color:#db8e3c}\n103 {color:#db8e3c}\n107 {color:#db8e3c}\n108 {color:#b01700}\n109 {color:#c6531e}\n114 {color:#95cde5}\n117 {color:#ffe35f}", + "title": "Mystery of the Secret Room", + "_rev": "1-058a97024fc92a7254f3d02a4fbfe7c9", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "mystery-of-the-secret-room", + "example": "cyoa" +} diff --git a/demos/halfviz/library/python-grammar.json b/demos/halfviz/library/python-grammar.json index 7512160..68c1947 100644 --- a/demos/halfviz/library/python-grammar.json +++ b/demos/halfviz/library/python-grammar.json @@ -1 +1,13 @@ -{"_id":"python-grammar","_rev":"1-b51a39ec5ab3eb1fe22191f07fd08afb","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":false},"src":";\n; Grammar of the Python language\n; transcribed from nick siegler's diagram:\n; flickr.com/photos/nicksieger/281055485\n;\n\nfile input -> stmt\nstmt -> compound stmt\nstmt -> simple stmt\nsimple stmt -> small stmt\nsmall stmt -> del\ndel -> exprlist\nsmall stmt -> exec\nsmall stmt -> expr\nexpr -> augassign\nexpr -> testlist\nsmall stmt -> flow\nflow -> return\nflow -> yield\nflow -> continue\nflow -> break\nflow -> raise\nraise -> test\n\nsmall stmt -> pass\nsmall stmt -> print\nsmall stmt -> global\nsmall stmt -> assert\nassert -> test\nsmall stmt -> import\nimport -> import as\nimport -> dotted as\ndotted as -> dotted name\nimport -> dotted name\n\ntest -> lambdef\nlambdef -> test\nlambdef -> varargslist\nvarargslist -> defparameter\ndefparameter -> test\ndefparameter -> fpdef\nfpdef -> fplist\nfplist -> fpdef\n\nexec -> expression\nexpression -> xor\nxor -> and\nand->shift\nshift -> arith\narith -> term\nterm -> factor\nfactor -> power\npower -> factor\npower -> atom\npower -> trailer\ntrailer -> subscriptlist\nsubscriptlist -> subscript\nsubscript -> sliceop\nsliceop -> test\ntrailer -> arglist\narglist -> argument\nargument -> test\narglist -> test\natom -> listmaker\nlistmaker -> list for\nlist for -> exprlist\nlist for -> list iter\nlist iter -> list for\nlist iter -> list if\nlist if -> list iter\nlist if -> test\natom -> dictmaker\ndictmaker -> test\nexec -> test\n\ncompound stmt -> for\nfor -> suite\nfor -> testlist\nfor -> exprlist\ncompound stmt -> classdef\nclassdef -> suite\nclassdef -> testlist\ncompound stmt -> try\ntry -> suite\ntry -> except\ncompound stmt -> if\nif -> suite\nif -> test\ncompound stmt -> while\nwhile -> suite\nwhile -> test\ncompound stmt -> funcdef\nfuncdef -> suite\nfuncdef -> parameters\nparameters -> vararglist","example":"doodle","title":"Python Grammar"} +{ + "src": ";\n; Grammar of the Python language\n; transcribed from nick siegler's diagram:\n; flickr.com/photos/nicksieger/281055485\n;\n\nfile input -> stmt\nstmt -> compound stmt\nstmt -> simple stmt\nsimple stmt -> small stmt\nsmall stmt -> del\ndel -> exprlist\nsmall stmt -> exec\nsmall stmt -> expr\nexpr -> augassign\nexpr -> testlist\nsmall stmt -> flow\nflow -> return\nflow -> yield\nflow -> continue\nflow -> break\nflow -> raise\nraise -> test\n\nsmall stmt -> pass\nsmall stmt -> print\nsmall stmt -> global\nsmall stmt -> assert\nassert -> test\nsmall stmt -> import\nimport -> import as\nimport -> dotted as\ndotted as -> dotted name\nimport -> dotted name\n\ntest -> lambdef\nlambdef -> test\nlambdef -> varargslist\nvarargslist -> defparameter\ndefparameter -> test\ndefparameter -> fpdef\nfpdef -> fplist\nfplist -> fpdef\n\nexec -> expression\nexpression -> xor\nxor -> and\nand->shift\nshift -> arith\narith -> term\nterm -> factor\nfactor -> power\npower -> factor\npower -> atom\npower -> trailer\ntrailer -> subscriptlist\nsubscriptlist -> subscript\nsubscript -> sliceop\nsliceop -> test\ntrailer -> arglist\narglist -> argument\nargument -> test\narglist -> test\natom -> listmaker\nlistmaker -> list for\nlist for -> exprlist\nlist for -> list iter\nlist iter -> list for\nlist iter -> list if\nlist if -> list iter\nlist if -> test\natom -> dictmaker\ndictmaker -> test\nexec -> test\n\ncompound stmt -> for\nfor -> suite\nfor -> testlist\nfor -> exprlist\ncompound stmt -> classdef\nclassdef -> suite\nclassdef -> testlist\ncompound stmt -> try\ntry -> suite\ntry -> except\ncompound stmt -> if\nif -> suite\nif -> test\ncompound stmt -> while\nwhile -> suite\nwhile -> test\ncompound stmt -> funcdef\nfuncdef -> suite\nfuncdef -> parameters\nparameters -> vararglist", + "title": "Python Grammar", + "_rev": "1-b51a39ec5ab3eb1fe22191f07fd08afb", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": false + }, + "_id": "python-grammar", + "example": "doodle" +} diff --git a/demos/halfviz/library/snowflake.json b/demos/halfviz/library/snowflake.json index 65ac9e5..7ff5195 100644 --- a/demos/halfviz/library/snowflake.json +++ b/demos/halfviz/library/snowflake.json @@ -1 +1,13 @@ -{"_id":"snowflake","_rev":"1-b93ed8d24eb7543e10c727c940bd41b2","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":false},"src":"-> {color:#99aaaa, weight:6}\n{color:none, label:}\n\n1 -- 2\n1 -- 3\n1 -- 4\n1 -- 5\n1 -- 6\n\n2 -- 7\n2 -- 8\n2 -- 9\n\n3 -- 10\n3 -- 11\n3 -- 12\n\n4 -- 13\n4 -- 14\n4 -- 15\n\n5 -- 16\n5 -- 17\n5 -- 18\n\n6 -- 19\n6 -- 20\n6 -- 21\n\n","example":"doodle","title":"Snowflake"} +{ + "src": "-> {color:#99aaaa, weight:6}\n{color:none, label:}\n\n1 -- 2\n1 -- 3\n1 -- 4\n1 -- 5\n1 -- 6\n\n2 -- 7\n2 -- 8\n2 -- 9\n\n3 -- 10\n3 -- 11\n3 -- 12\n\n4 -- 13\n4 -- 14\n4 -- 15\n\n5 -- 16\n5 -- 17\n5 -- 18\n\n6 -- 19\n6 -- 20\n6 -- 21\n\n", + "title": "Snowflake", + "_rev": "1-b93ed8d24eb7543e10c727c940bd41b2", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": false + }, + "_id": "snowflake", + "example": "doodle" +} diff --git a/demos/halfviz/library/the-abominable-snowman.json b/demos/halfviz/library/the-abominable-snowman.json index 28f062f..2d3cb27 100644 --- a/demos/halfviz/library/the-abominable-snowman.json +++ b/demos/halfviz/library/the-abominable-snowman.json @@ -1 +1,13 @@ -{"_id":"the-abominable-snowman","_rev":"1-cb224d9fc9d466d9e3cc358bbb410cbc","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 13 (1982)\n; The Abominable Snowman\n; by R.A. Montgomery\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 7\n1 -> 8\n7 -> 9\n7 -> 13\n8 -> 10\n9 -> 20\n9 -> 15\n10 -> 16\n10 -> 19\n13 -> 14\n14 -> 23\n14 -> 22\n15 -> 32\n16 -> 24\n16 -> 27\n19 -> 28\n19 -> 29\n20 -> 31\n21 -> 46\n21 -> 47\n22 -> 34\n23 -> 33\n23 -> 38\n24 -> 26\n26 -> 40\n26 -> 116\n27 -> 39\n27 -> 42\n31 -> 43\n31 -> 45\n34 -> 21\n38 -> 50\n38 -> 48\n39 -> 52\n39 -> 54\n40 -> 51\n40 -> 63\n43 -> 58\n43 -> 62\n45 -> 57\n45 -> 55\n46 -> 59\n46 -> 64\n48 -> 68\n50 -> 67\n50 -> 65\n51 -> 70\n51 -> 72\n52 -> 24\n55 -> 76\n57 -> 75\n58 -> 77\n58 -> 80\n62 -> 82\n62 -> 81\n65 -> 86\n65 -> 87\n67 -> 85\n67 -> 83\n68 -> 88\n68 -> 89\n70 -> 90\n70 -> 92\n75 -> 73\n76 -> 78\n77 -> 91\n77 -> 95\n78 -> 100\n78 -> 102\n81 -> 110\n82 -> 98\n82 -> 96\n83 -> 99\n86 -> 37\n86 -> 114\n90 -> 92\n91 -> 101\n92 -> 97\n95 -> 106\n97 -> 112\n98 -> 109\n100 -> 104\n101 -> 103\n106 -> 111\n109 -> 60\n110 -> 82\n112 -> 107\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n28 {color:#b01700}\n29 {color:#b01700}\n32 {color:#c6531e}\n33 {color:#b01700}\n37 {color:#db8e3c}\n42 {color:#c6531e}\n47 {color:#ffe35f}\n54 {color:#db8e3c}\n59 {color:#db8e3c}\n60 {color:#95cde5}\n63 {color:#db8e3c}\n64 {color:#ffe35f}\n72 {color:#c6531e}\n73 {color:#db8e3c}\n80 {color:#95cde5}\n85 {color:#95cde5}\n87 {color:#db8e3c}\n88 {color:#c6531e}\n89 {color:#95cde5}\n96 {color:#b01700}\n99 {color:#95cde5}\n102 {color:#ffe35f}\n103 {color:#95cde5}\n104 {color:#95cde5}\n107 {color:#db8e3c}\n111 {color:#95cde5}\n114 {color:#c6531e}\n116 {color:#b01700}","example":"cyoa","title":"The Abominable Snowman"} +{ + "src": ";\n; CYOA 13 (1982)\n; The Abominable Snowman\n; by R.A. Montgomery\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 7\n1 -> 8\n7 -> 9\n7 -> 13\n8 -> 10\n9 -> 20\n9 -> 15\n10 -> 16\n10 -> 19\n13 -> 14\n14 -> 23\n14 -> 22\n15 -> 32\n16 -> 24\n16 -> 27\n19 -> 28\n19 -> 29\n20 -> 31\n21 -> 46\n21 -> 47\n22 -> 34\n23 -> 33\n23 -> 38\n24 -> 26\n26 -> 40\n26 -> 116\n27 -> 39\n27 -> 42\n31 -> 43\n31 -> 45\n34 -> 21\n38 -> 50\n38 -> 48\n39 -> 52\n39 -> 54\n40 -> 51\n40 -> 63\n43 -> 58\n43 -> 62\n45 -> 57\n45 -> 55\n46 -> 59\n46 -> 64\n48 -> 68\n50 -> 67\n50 -> 65\n51 -> 70\n51 -> 72\n52 -> 24\n55 -> 76\n57 -> 75\n58 -> 77\n58 -> 80\n62 -> 82\n62 -> 81\n65 -> 86\n65 -> 87\n67 -> 85\n67 -> 83\n68 -> 88\n68 -> 89\n70 -> 90\n70 -> 92\n75 -> 73\n76 -> 78\n77 -> 91\n77 -> 95\n78 -> 100\n78 -> 102\n81 -> 110\n82 -> 98\n82 -> 96\n83 -> 99\n86 -> 37\n86 -> 114\n90 -> 92\n91 -> 101\n92 -> 97\n95 -> 106\n97 -> 112\n98 -> 109\n100 -> 104\n101 -> 103\n106 -> 111\n109 -> 60\n110 -> 82\n112 -> 107\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n28 {color:#b01700}\n29 {color:#b01700}\n32 {color:#c6531e}\n33 {color:#b01700}\n37 {color:#db8e3c}\n42 {color:#c6531e}\n47 {color:#ffe35f}\n54 {color:#db8e3c}\n59 {color:#db8e3c}\n60 {color:#95cde5}\n63 {color:#db8e3c}\n64 {color:#ffe35f}\n72 {color:#c6531e}\n73 {color:#db8e3c}\n80 {color:#95cde5}\n85 {color:#95cde5}\n87 {color:#db8e3c}\n88 {color:#c6531e}\n89 {color:#95cde5}\n96 {color:#b01700}\n99 {color:#95cde5}\n102 {color:#ffe35f}\n103 {color:#95cde5}\n104 {color:#95cde5}\n107 {color:#db8e3c}\n111 {color:#95cde5}\n114 {color:#c6531e}\n116 {color:#b01700}", + "title": "The Abominable Snowman", + "_rev": "1-cb224d9fc9d466d9e3cc358bbb410cbc", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "the-abominable-snowman", + "example": "cyoa" +} diff --git a/demos/halfviz/library/the-cave-of-time.json b/demos/halfviz/library/the-cave-of-time.json index d3fa73e..a124594 100644 --- a/demos/halfviz/library/the-cave-of-time.json +++ b/demos/halfviz/library/the-cave-of-time.json @@ -1 +1,13 @@ -{"_id":"the-cave-of-time","_rev":"1-b61c63c4e7e2c0fe911f89c1330491e2","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 1 (1979)\n; The Cave of Time\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n3 -> 4\n3 -> 5\n4 -> 10\n4 -> 8\n5 -> 16\n5 -> 6\n6 -> 114\n6 -> 22\n8 -> 17\n8 -> 18\n10 -> 21\n10 -> 61\n12 -> 66\n12 -> 78\n13 -> 14\n13 -> 15\n16 -> 24\n16 -> 25\n17 -> 26\n17 -> 28\n18 -> 29\n18 -> 30\n21 -> 33\n21 -> 35\n22 -> 36\n22 -> 37\n24 -> 38\n24 -> 40\n25 -> 41\n25 -> 43\n25 -> 44\n25 -> 45\n26 -> 46\n26 -> 47\n29 -> 52\n29 -> 53\n30 -> 54\n30 -> 92\n33 -> 68\n33 -> 79\n35 -> 76\n35 -> 80\n36 -> 37\n37 -> 12\n37 -> 13\n38 -> 82\n38 -> 87\n40 -> 115\n40 -> 83\n47 -> 49\n47 -> 50\n49 -> 25\n54 -> 101\n54 -> 94\n54 -> 98\n61 -> 104\n61 -> 106\n66 -> 70\n66 -> 74\n70 -> 103\n70 -> 72\n79 -> 86\n79 -> 88\n83 -> 84\n83 -> 85\n88 -> 90\n88 -> 91\n92 -> 57\n92 -> 60\n94 -> 100\n94 -> 96\n104 -> 107\n104 -> 109\n106 -> 111\n106 -> 113\n114 -> 61\n\n; endings\n3 {color:#444, shape:dot, label:\u00b7}\n14 {color:#db8e3c}\n15 {color:#db8e3c}\n28 {color:#db8e3c}\n41 {color:#ffe35f}\n43 {color:#95cde5}\n44 {color:#b01700}\n45 {color:#ffe35f}\n46 {color:#c6531e}\n50 {color:#95cde5}\n52 {color:#db8e3c}\n53 {color:#b01700}\n57 {color:#db8e3c}\n60 {color:#b01700}\n68 {color:#c6531e}\n72 {color:#ffe35f}\n74 {color:#c6531e}\n76 {color:#db8e3c}\n78 {color:#b01700}\n80 {color:#b01700}\n82 {color:#b01700}\n84 {color:#b01700}\n85 {color:#ffe35f}\n86 {color:#c6531e}\n87 {color:#b01700}\n90 {color:#95cde5}\n91 {color:#b01700}\n96 {color:#db8e3c}\n98 {color:#ffe35f}\n100 {color:#db8e3c}\n101 {color:#b01700}\n103 {color:#ffe35f}\n107 {color:#db8e3c}\n109 {color:#ffe35f}\n111 {color:#95cde5}\n113 {color:#ffe35f}\n115 {color:#ffe35f}","example":"cyoa","title":"The Cave of Time"} +{ + "src": ";\n; CYOA 1 (1979)\n; The Cave of Time\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n3 -> 4\n3 -> 5\n4 -> 10\n4 -> 8\n5 -> 16\n5 -> 6\n6 -> 114\n6 -> 22\n8 -> 17\n8 -> 18\n10 -> 21\n10 -> 61\n12 -> 66\n12 -> 78\n13 -> 14\n13 -> 15\n16 -> 24\n16 -> 25\n17 -> 26\n17 -> 28\n18 -> 29\n18 -> 30\n21 -> 33\n21 -> 35\n22 -> 36\n22 -> 37\n24 -> 38\n24 -> 40\n25 -> 41\n25 -> 43\n25 -> 44\n25 -> 45\n26 -> 46\n26 -> 47\n29 -> 52\n29 -> 53\n30 -> 54\n30 -> 92\n33 -> 68\n33 -> 79\n35 -> 76\n35 -> 80\n36 -> 37\n37 -> 12\n37 -> 13\n38 -> 82\n38 -> 87\n40 -> 115\n40 -> 83\n47 -> 49\n47 -> 50\n49 -> 25\n54 -> 101\n54 -> 94\n54 -> 98\n61 -> 104\n61 -> 106\n66 -> 70\n66 -> 74\n70 -> 103\n70 -> 72\n79 -> 86\n79 -> 88\n83 -> 84\n83 -> 85\n88 -> 90\n88 -> 91\n92 -> 57\n92 -> 60\n94 -> 100\n94 -> 96\n104 -> 107\n104 -> 109\n106 -> 111\n106 -> 113\n114 -> 61\n\n; endings\n3 {color:#444, shape:dot, label:\u00b7}\n14 {color:#db8e3c}\n15 {color:#db8e3c}\n28 {color:#db8e3c}\n41 {color:#ffe35f}\n43 {color:#95cde5}\n44 {color:#b01700}\n45 {color:#ffe35f}\n46 {color:#c6531e}\n50 {color:#95cde5}\n52 {color:#db8e3c}\n53 {color:#b01700}\n57 {color:#db8e3c}\n60 {color:#b01700}\n68 {color:#c6531e}\n72 {color:#ffe35f}\n74 {color:#c6531e}\n76 {color:#db8e3c}\n78 {color:#b01700}\n80 {color:#b01700}\n82 {color:#b01700}\n84 {color:#b01700}\n85 {color:#ffe35f}\n86 {color:#c6531e}\n87 {color:#b01700}\n90 {color:#95cde5}\n91 {color:#b01700}\n96 {color:#db8e3c}\n98 {color:#ffe35f}\n100 {color:#db8e3c}\n101 {color:#b01700}\n103 {color:#ffe35f}\n107 {color:#db8e3c}\n109 {color:#ffe35f}\n111 {color:#95cde5}\n113 {color:#ffe35f}\n115 {color:#ffe35f}", + "title": "The Cave of Time", + "_rev": "1-b61c63c4e7e2c0fe911f89c1330491e2", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "the-cave-of-time", + "example": "cyoa" +} diff --git a/demos/halfviz/library/the-cavern-of-doom.json b/demos/halfviz/library/the-cavern-of-doom.json index eaa9ceb..c98109e 100644 --- a/demos/halfviz/library/the-cavern-of-doom.json +++ b/demos/halfviz/library/the-cavern-of-doom.json @@ -1 +1,13 @@ -{"_id":"the-cavern-of-doom","_rev":"1-ddbdc0a05d3d10ab352850de46d2ef9a","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; WDIDN 3 (1982)\n; Zork: The Cavern of Doom\n; by Steve Meretsky\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n2 -> 7\n7 -> 13\n7 -> 15\n7 -> 19\n7 -> 21\n13 -> 21\n15 -> 21\n19 -> 21\n21 -> 26\n21 -> 31\n26 -> 33\n26 -> 36\n33 -> 38\n33 -> 41\n36 -> 33\n36 -> 43\n38 -> 41\n38 -> 45\n41 -> 48\n41 -> 50\n48 -> 53\n48 -> 57\n50 -> 53\n50 -> 57\n53 -> 56\n53 -> 57\n57 -> 60\n57 -> 62\n62 -> 66\n62 -> 68\n62 -> 71\n66 -> 74\n66 -> 68\n66 -> 71\n74 -> 77\n74 -> 80\n77 -> 82\n77 -> 84\n77 -> 88\n84 -> 91\n84 -> 94\n94 -> 96\n94 -> 100\n96 -> 102\n96 -> 104\n104 -> 113\n104 -> 115\n104 -> 117\n104 -> 119\n\n; endings\n2 {color:#444, shape:dot, label:\u00b7}\n31 {color:#b01700}\n43 {color:#b01700}\n45 {color:#b01700}\n56 {color:#c6531e}\n60 {color:#c6531e}\n68 {color:#c6531e}\n68 {color:#c6531e}\n71 {color:#c6531e}\n71 {color:#c6531e}\n80 {color:#db8e3c}\n82 {color:#db8e3c}\n88 {color:#db8e3c}\n91 {color:#b01700}\n100 {color:#db8e3c}\n102 {color:#ffe35f}\n113 {color:#ffe35f}\n115 {color:#ffe35f}\n117 {color:#ffe35f}\n119 {color:#95cde5}","example":"cyoa","title":"The Cavern of Doom"} +{ + "src": ";\n; WDIDN 3 (1982)\n; Zork: The Cavern of Doom\n; by Steve Meretsky\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n2 -> 7\n7 -> 13\n7 -> 15\n7 -> 19\n7 -> 21\n13 -> 21\n15 -> 21\n19 -> 21\n21 -> 26\n21 -> 31\n26 -> 33\n26 -> 36\n33 -> 38\n33 -> 41\n36 -> 33\n36 -> 43\n38 -> 41\n38 -> 45\n41 -> 48\n41 -> 50\n48 -> 53\n48 -> 57\n50 -> 53\n50 -> 57\n53 -> 56\n53 -> 57\n57 -> 60\n57 -> 62\n62 -> 66\n62 -> 68\n62 -> 71\n66 -> 74\n66 -> 68\n66 -> 71\n74 -> 77\n74 -> 80\n77 -> 82\n77 -> 84\n77 -> 88\n84 -> 91\n84 -> 94\n94 -> 96\n94 -> 100\n96 -> 102\n96 -> 104\n104 -> 113\n104 -> 115\n104 -> 117\n104 -> 119\n\n; endings\n2 {color:#444, shape:dot, label:\u00b7}\n31 {color:#b01700}\n43 {color:#b01700}\n45 {color:#b01700}\n56 {color:#c6531e}\n60 {color:#c6531e}\n68 {color:#c6531e}\n68 {color:#c6531e}\n71 {color:#c6531e}\n71 {color:#c6531e}\n80 {color:#db8e3c}\n82 {color:#db8e3c}\n88 {color:#db8e3c}\n91 {color:#b01700}\n100 {color:#db8e3c}\n102 {color:#ffe35f}\n113 {color:#ffe35f}\n115 {color:#ffe35f}\n117 {color:#ffe35f}\n119 {color:#95cde5}", + "title": "The Cavern of Doom", + "_rev": "1-ddbdc0a05d3d10ab352850de46d2ef9a", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "the-cavern-of-doom", + "example": "cyoa" +} diff --git a/demos/halfviz/library/the-mystery-of-chimney-rock.json b/demos/halfviz/library/the-mystery-of-chimney-rock.json index aca239a..341c0c8 100644 --- a/demos/halfviz/library/the-mystery-of-chimney-rock.json +++ b/demos/halfviz/library/the-mystery-of-chimney-rock.json @@ -1 +1,13 @@ -{"_id":"the-mystery-of-chimney-rock","_rev":"1-8c39b5bc8543125712714ef7ae9aac60","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 5 (1980)\n; The Mystery of Chimney Rock\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n3 -> 4\n3 -> 6\n4 -> 5\n5 -> 8\n5 -> 10\n6 -> 7\n7 -> 12\n7 -> 11\n8 -> 14\n8 -> 15\n10 -> 16\n10 -> 17\n11 -> 22\n11 -> 21\n12 -> 19\n12 -> 20\n14 -> 24\n14 -> 25\n15 -> 26\n15 -> 28\n16 -> 27\n16 -> 31\n17 -> 32\n17 -> 34\n19 -> 35\n19 -> 36\n20 -> 37\n20 -> 38\n21 -> 42\n21 -> 41\n22 -> 23\n23 -> 39\n23 -> 40\n24 -> 44\n24 -> 46\n25 -> 48\n25 -> 49\n26 -> 54\n26 -> 50\n27 -> 56\n27 -> 57\n28 -> 52\n28 -> 55\n31 -> 58\n31 -> 59\n32 -> 33\n33 -> 60\n33 -> 61\n34 -> 69\n35 -> 66\n36 -> 66\n36 -> 67\n38 -> 72\n38 -> 73\n39 -> 76\n39 -> 74\n40 -> 77\n40 -> 78\n41 -> 82\n41 -> 83\n42 -> 80\n42 -> 81\n44 -> 45\n45 -> 84\n45 -> 89\n46 -> 47\n48 -> 90\n48 -> 91\n49 -> 50\n50 -> 99\n50 -> 100\n52 -> 53\n53 -> 117\n53 -> 118\n54 -> 71\n56 -> 105\n57 -> 8\n61 -> 48\n61 -> 92\n62 -> 110\n62 -> 85\n63 -> 86\n63 -> 88\n64 -> 93\n64 -> 94\n65 -> 96\n65 -> 95\n66 -> 64\n66 -> 65\n67 -> 68\n68 -> 102\n69 -> 62\n69 -> 63\n71 -> 97\n71 -> 98\n74 -> 81\n74 -> 92\n85 -> 107\n86 -> 37\n88 -> 48\n95 -> 106\n95 -> 108\n97 -> 10\n99 -> 69\n100 -> 101\n102 -> 71\n102 -> 103\n103 -> 25\n106 -> 106\n106 -> 119\n110 -> 111\n110 -> 112\n110 -> 113\n112 -> 114\n112 -> 116\n113 -> 120\n113 -> 121\n\n; endings\n3 {color:#444, shape:dot, label:\u00b7}\n37 {color:#c6531e}\n47 {color:#95cde5}\n55 {color:#b01700}\n58 {color:#db8e3c}\n59 {color:#db8e3c}\n60 {color:#c6531e}\n72 {color:#95cde5}\n73 {color:#95cde5}\n76 {color:#c6531e}\n77 {color:#db8e3c}\n78 {color:#db8e3c}\n80 {color:#c6531e}\n81 {color:#ffe35f}\n81 {color:#ffe35f}\n82 {color:#db8e3c}\n83 {color:#ffe35f}\n84 {color:#b01700}\n86 {color:#c6531e}\n89 {color:#db8e3c}\n90 {color:#c6531e}\n91 {color:#c6531e}\n92 {color:#db8e3c}\n92 {color:#db8e3c}\n93 {color:#db8e3c}\n94 {color:#c6531e}\n96 {color:#c6531e}\n98 {color:#b01700}\n101 {color:#db8e3c}\n105 {color:#db8e3c}\n107 {color:#db8e3c}\n108 {color:#b01700}\n111 {color:#ffe35f}\n114 {color:#db8e3c}\n116 {color:#ffe35f}\n117 {color:#db8e3c}\n118 {color:#b01700}\n119 {color:#c6531e}\n120 {color:#ffe35f}\n121 {color:#95cde5}","example":"cyoa","title":"The Mystery of Chimney Rock"} +{ + "src": ";\n; CYOA 5 (1980)\n; The Mystery of Chimney Rock\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n3 -> 4\n3 -> 6\n4 -> 5\n5 -> 8\n5 -> 10\n6 -> 7\n7 -> 12\n7 -> 11\n8 -> 14\n8 -> 15\n10 -> 16\n10 -> 17\n11 -> 22\n11 -> 21\n12 -> 19\n12 -> 20\n14 -> 24\n14 -> 25\n15 -> 26\n15 -> 28\n16 -> 27\n16 -> 31\n17 -> 32\n17 -> 34\n19 -> 35\n19 -> 36\n20 -> 37\n20 -> 38\n21 -> 42\n21 -> 41\n22 -> 23\n23 -> 39\n23 -> 40\n24 -> 44\n24 -> 46\n25 -> 48\n25 -> 49\n26 -> 54\n26 -> 50\n27 -> 56\n27 -> 57\n28 -> 52\n28 -> 55\n31 -> 58\n31 -> 59\n32 -> 33\n33 -> 60\n33 -> 61\n34 -> 69\n35 -> 66\n36 -> 66\n36 -> 67\n38 -> 72\n38 -> 73\n39 -> 76\n39 -> 74\n40 -> 77\n40 -> 78\n41 -> 82\n41 -> 83\n42 -> 80\n42 -> 81\n44 -> 45\n45 -> 84\n45 -> 89\n46 -> 47\n48 -> 90\n48 -> 91\n49 -> 50\n50 -> 99\n50 -> 100\n52 -> 53\n53 -> 117\n53 -> 118\n54 -> 71\n56 -> 105\n57 -> 8\n61 -> 48\n61 -> 92\n62 -> 110\n62 -> 85\n63 -> 86\n63 -> 88\n64 -> 93\n64 -> 94\n65 -> 96\n65 -> 95\n66 -> 64\n66 -> 65\n67 -> 68\n68 -> 102\n69 -> 62\n69 -> 63\n71 -> 97\n71 -> 98\n74 -> 81\n74 -> 92\n85 -> 107\n86 -> 37\n88 -> 48\n95 -> 106\n95 -> 108\n97 -> 10\n99 -> 69\n100 -> 101\n102 -> 71\n102 -> 103\n103 -> 25\n106 -> 106\n106 -> 119\n110 -> 111\n110 -> 112\n110 -> 113\n112 -> 114\n112 -> 116\n113 -> 120\n113 -> 121\n\n; endings\n3 {color:#444, shape:dot, label:\u00b7}\n37 {color:#c6531e}\n47 {color:#95cde5}\n55 {color:#b01700}\n58 {color:#db8e3c}\n59 {color:#db8e3c}\n60 {color:#c6531e}\n72 {color:#95cde5}\n73 {color:#95cde5}\n76 {color:#c6531e}\n77 {color:#db8e3c}\n78 {color:#db8e3c}\n80 {color:#c6531e}\n81 {color:#ffe35f}\n81 {color:#ffe35f}\n82 {color:#db8e3c}\n83 {color:#ffe35f}\n84 {color:#b01700}\n86 {color:#c6531e}\n89 {color:#db8e3c}\n90 {color:#c6531e}\n91 {color:#c6531e}\n92 {color:#db8e3c}\n92 {color:#db8e3c}\n93 {color:#db8e3c}\n94 {color:#c6531e}\n96 {color:#c6531e}\n98 {color:#b01700}\n101 {color:#db8e3c}\n105 {color:#db8e3c}\n107 {color:#db8e3c}\n108 {color:#b01700}\n111 {color:#ffe35f}\n114 {color:#db8e3c}\n116 {color:#ffe35f}\n117 {color:#db8e3c}\n118 {color:#b01700}\n119 {color:#c6531e}\n120 {color:#ffe35f}\n121 {color:#95cde5}", + "title": "The Mystery of Chimney Rock", + "_rev": "1-8c39b5bc8543125712714ef7ae9aac60", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "the-mystery-of-chimney-rock", + "example": "cyoa" +} diff --git a/demos/halfviz/library/the-mystery-of-ura-senke.json b/demos/halfviz/library/the-mystery-of-ura-senke.json index e6bab49..16a78c6 100644 --- a/demos/halfviz/library/the-mystery-of-ura-senke.json +++ b/demos/halfviz/library/the-mystery-of-ura-senke.json @@ -1 +1,13 @@ -{"_id":"the-mystery-of-ura-senke","_rev":"1-28db4e79a6f7791829b7e2a9679b76b3","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 44 (1985)\n; The Mystery of Ura Senke\n; by Shannon Gilligan\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 11\n1 -> 9\n7 -> 33\n7 -> 29\n9 -> 20\n9 -> 15\n11 -> 14\n11 -> 28\n14 -> 7\n14 -> 25\n14 -> 28\n15 -> 26\n15 -> 22\n20 -> 95\n20 -> 89\n22 -> 44\n22 -> 39\n25 -> 40\n25 -> 37\n26 -> 51\n26 -> 46\n28 -> 94\n28 -> 84\n33 -> 76\n33 -> 70\n37 -> 47\n37 -> 49\n40 -> 56\n40 -> 55\n46 -> 58\n46 -> 62\n49 -> 65\n49 -> 59\n65 -> 111\n65 -> 114\n70 -> 77\n70 -> 79\n76 -> 91\n76 -> 96\n79 -> 86\n79 -> 90\n94 -> 110\n94 -> 104\n96 -> 66\n96 -> 52\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n29 {color:#db8e3c}\n39 {color:#c6531e}\n44 {color:#b01700}\n47 {color:#db8e3c}\n51 {color:#db8e3c}\n52 {color:#95cde5}\n55 {color:#b01700}\n56 {color:#b01700}\n58 {color:#b01700}\n59 {color:#b01700}\n62 {color:#db8e3c}\n66 {color:#db8e3c}\n77 {color:#ffe35f}\n84 {color:#95cde5}\n86 {color:#b01700}\n89 {color:#95cde5}\n90 {color:#ffe35f}\n91 {color:#c6531e}\n95 {color:#95cde5}\n104 {color:#95cde5}\n110 {color:#c6531e}\n111 {color:#c6531e}\n114 {color:#db8e3c}","example":"cyoa","title":"The Mystery of Ura Senke"} +{ + "src": ";\n; CYOA 44 (1985)\n; The Mystery of Ura Senke\n; by Shannon Gilligan\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n1 -> 11\n1 -> 9\n7 -> 33\n7 -> 29\n9 -> 20\n9 -> 15\n11 -> 14\n11 -> 28\n14 -> 7\n14 -> 25\n14 -> 28\n15 -> 26\n15 -> 22\n20 -> 95\n20 -> 89\n22 -> 44\n22 -> 39\n25 -> 40\n25 -> 37\n26 -> 51\n26 -> 46\n28 -> 94\n28 -> 84\n33 -> 76\n33 -> 70\n37 -> 47\n37 -> 49\n40 -> 56\n40 -> 55\n46 -> 58\n46 -> 62\n49 -> 65\n49 -> 59\n65 -> 111\n65 -> 114\n70 -> 77\n70 -> 79\n76 -> 91\n76 -> 96\n79 -> 86\n79 -> 90\n94 -> 110\n94 -> 104\n96 -> 66\n96 -> 52\n\n; endings\n1 {color:#444, shape:dot, label:\u00b7}\n29 {color:#db8e3c}\n39 {color:#c6531e}\n44 {color:#b01700}\n47 {color:#db8e3c}\n51 {color:#db8e3c}\n52 {color:#95cde5}\n55 {color:#b01700}\n56 {color:#b01700}\n58 {color:#b01700}\n59 {color:#b01700}\n62 {color:#db8e3c}\n66 {color:#db8e3c}\n77 {color:#ffe35f}\n84 {color:#95cde5}\n86 {color:#b01700}\n89 {color:#95cde5}\n90 {color:#ffe35f}\n91 {color:#c6531e}\n95 {color:#95cde5}\n104 {color:#95cde5}\n110 {color:#c6531e}\n111 {color:#c6531e}\n114 {color:#db8e3c}", + "title": "The Mystery of Ura Senke", + "_rev": "1-28db4e79a6f7791829b7e2a9679b76b3", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "the-mystery-of-ura-senke", + "example": "cyoa" +} diff --git a/demos/halfviz/library/third-planet-from-altair.json b/demos/halfviz/library/third-planet-from-altair.json index c4f91c8..c5dc65f 100644 --- a/demos/halfviz/library/third-planet-from-altair.json +++ b/demos/halfviz/library/third-planet-from-altair.json @@ -1 +1,13 @@ -{"_id":"third-planet-from-altair","_rev":"1-ee5599bcde8a1592f71eb00281360dd6","sys":{"repulsion":2600,"friction":0.5,"stiffness":512,"gravity":true},"src":";\n; CYOA 7 (1980)\n; Third Planet from Altair\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n5 -> 6\n5 -> 8\n6 -> 9\n6 -> 10\n6 -> 13\n7 -> 46\n7 -> 48\n8 -> 12\n8 -> 22\n9 -> 14\n9 -> 15\n9 -> 16\n10 -> 17\n10 -> 19\n12 -> 24\n12 -> 25\n13 -> 20\n13 -> 34\n14 -> 26\n14 -> 27\n15 -> 101\n16 -> 30\n16 -> 33\n17 -> 28\n17 -> 32\n19 -> 35\n19 -> 36\n20 -> 38\n22 -> 44\n22 -> 45\n25 -> 42\n25 -> 43\n27 -> 49\n27 -> 50\n28 -> 79\n30 -> 41\n30 -> 51\n34 -> 21\n34 -> 40\n35 -> 101\n36 -> 54\n36 -> 58\n38 -> 7\n38 -> 59\n41 -> 53\n41 -> 109\n43 -> 10\n44 -> 61\n44 -> 64\n45 -> 55\n45 -> 60\n46 -> 27\n48 -> 65\n48 -> 67\n51 -> 15\n54 -> 74\n54 -> 75\n55 -> 57\n58 -> 77\n58 -> 78\n60 -> 62\n60 -> 69\n61 -> 83\n61 -> 84\n64 -> 86\n64 -> 89\n67 -> 12\n70 -> 106\n70 -> 107\n72 -> 108\n72 -> 111\n75 -> 91\n75 -> 92\n77 -> 80\n77 -> 82\n80 -> 110\n82 -> 93\n82 -> 94\n85 -> 88\n85 -> 103\n88 -> 112\n88 -> 116\n92 -> 97\n92 -> 98\n92 -> 102\n94 -> 99\n94 -> 100\n98 -> 70\n98 -> 72\n99 -> 105\n101 -> 85\n101 -> 90\n105 -> 113\n105 -> 114\n109 -> 34\n112 -> 104\n112 -> 116\n\n; endings\n5 {color:#444, shape:dot, label:\u00b7}\n21 {color:#b01700}\n24 {color:#b01700}\n26 {color:#b01700}\n32 {color:#c6531e}\n33 {color:#c6531e}\n40 {color:#db8e3c}\n42 {color:#c6531e}\n49 {color:#b01700}\n50 {color:#db8e3c}\n53 {color:#b01700}\n57 {color:#ffe35f}\n59 {color:#b01700}\n62 {color:#b01700}\n65 {color:#95cde5}\n69 {color:#db8e3c}\n74 {color:#b01700}\n78 {color:#ffe35f}\n79 {color:#ffe35f}\n83 {color:#b01700}\n84 {color:#95cde5}\n86 {color:#ffe35f}\n89 {color:#b01700}\n90 {color:#b01700}\n91 {color:#db8e3c}\n93 {color:#b01700}\n97 {color:#c6531e}\n100 {color:#ffe35f}\n102 {color:#95cde5}\n103 {color:#95cde5}\n104 {color:#b01700}\n106 {color:#b01700}\n107 {color:#ffe35f}\n108 {color:#ffe35f}\n110 {color:#95cde5}\n111 {color:#ffe35f}\n113 {color:#ffe35f}\n114 {color:#ffe35f}\n116 {color:#95cde5}","example":"cyoa","title":"Third Planet from Altair"} +{ + "src": ";\n; CYOA 7 (1980)\n; Third Planet from Altair\n; by Edward Packard\n;\n; Each node is a page in the book, with\n; the lines between them representing \n; choices. The first page is drawn in\n; black and marked with a dot.\n;\n; Pages that contain an ending are color- \n; coded based on the goodness of that \n; ending. red is catastrophic, warm colors \n; are of varying levels of mediocrity, and \n; blue is the ideal, \u2018winning\u2019 ending.\n;\n\n; don\u2019t color in the decision pages\n{color:none}\n\n; choices\n5 -> 6\n5 -> 8\n6 -> 9\n6 -> 10\n6 -> 13\n7 -> 46\n7 -> 48\n8 -> 12\n8 -> 22\n9 -> 14\n9 -> 15\n9 -> 16\n10 -> 17\n10 -> 19\n12 -> 24\n12 -> 25\n13 -> 20\n13 -> 34\n14 -> 26\n14 -> 27\n15 -> 101\n16 -> 30\n16 -> 33\n17 -> 28\n17 -> 32\n19 -> 35\n19 -> 36\n20 -> 38\n22 -> 44\n22 -> 45\n25 -> 42\n25 -> 43\n27 -> 49\n27 -> 50\n28 -> 79\n30 -> 41\n30 -> 51\n34 -> 21\n34 -> 40\n35 -> 101\n36 -> 54\n36 -> 58\n38 -> 7\n38 -> 59\n41 -> 53\n41 -> 109\n43 -> 10\n44 -> 61\n44 -> 64\n45 -> 55\n45 -> 60\n46 -> 27\n48 -> 65\n48 -> 67\n51 -> 15\n54 -> 74\n54 -> 75\n55 -> 57\n58 -> 77\n58 -> 78\n60 -> 62\n60 -> 69\n61 -> 83\n61 -> 84\n64 -> 86\n64 -> 89\n67 -> 12\n70 -> 106\n70 -> 107\n72 -> 108\n72 -> 111\n75 -> 91\n75 -> 92\n77 -> 80\n77 -> 82\n80 -> 110\n82 -> 93\n82 -> 94\n85 -> 88\n85 -> 103\n88 -> 112\n88 -> 116\n92 -> 97\n92 -> 98\n92 -> 102\n94 -> 99\n94 -> 100\n98 -> 70\n98 -> 72\n99 -> 105\n101 -> 85\n101 -> 90\n105 -> 113\n105 -> 114\n109 -> 34\n112 -> 104\n112 -> 116\n\n; endings\n5 {color:#444, shape:dot, label:\u00b7}\n21 {color:#b01700}\n24 {color:#b01700}\n26 {color:#b01700}\n32 {color:#c6531e}\n33 {color:#c6531e}\n40 {color:#db8e3c}\n42 {color:#c6531e}\n49 {color:#b01700}\n50 {color:#db8e3c}\n53 {color:#b01700}\n57 {color:#ffe35f}\n59 {color:#b01700}\n62 {color:#b01700}\n65 {color:#95cde5}\n69 {color:#db8e3c}\n74 {color:#b01700}\n78 {color:#ffe35f}\n79 {color:#ffe35f}\n83 {color:#b01700}\n84 {color:#95cde5}\n86 {color:#ffe35f}\n89 {color:#b01700}\n90 {color:#b01700}\n91 {color:#db8e3c}\n93 {color:#b01700}\n97 {color:#c6531e}\n100 {color:#ffe35f}\n102 {color:#95cde5}\n103 {color:#95cde5}\n104 {color:#b01700}\n106 {color:#b01700}\n107 {color:#ffe35f}\n108 {color:#ffe35f}\n110 {color:#95cde5}\n111 {color:#ffe35f}\n113 {color:#ffe35f}\n114 {color:#ffe35f}\n116 {color:#95cde5}", + "title": "Third Planet from Altair", + "_rev": "1-ee5599bcde8a1592f71eb00281360dd6", + "sys": { + "repulsion": 2600, + "stiffness": 512, + "friction": 0.5, + "gravity": true + }, + "_id": "third-planet-from-altair", + "example": "cyoa" +} diff --git a/demos/halfviz/library/toc.json b/demos/halfviz/library/toc.json index d00201c..6f4da6c 100644 --- a/demos/halfviz/library/toc.json +++ b/demos/halfviz/library/toc.json @@ -1,18 +1,134 @@ -{"total_rows":16,"offset":0,"rows":[ -{"id":"the-abominable-snowman","key":["cyoa","abominable-snowman"],"value":"The Abominable Snowman"}, -{"id":"case-of-the-silk-king","key":["cyoa","case-of-the-silk-king"],"value":"Case Of The Silk King"}, -{"id":"the-cave-of-time","key":["cyoa","cave-of-time"],"value":"The Cave of Time"}, -{"id":"the-cavern-of-doom","key":["cyoa","cavern-of-doom"],"value":"The Cavern of Doom"}, -{"id":"date-with-destiny","key":["cyoa","date-with-destiny"],"value":"Date with Destiny "}, -{"id":"house-of-danger","key":["cyoa","house-of-danger"],"value":"House of Danger"}, -{"id":"inside-ufo-54-40","key":["cyoa","inside-ufo-54-40"],"value":"Inside UFO 54-40"}, -{"id":"journey-under-the-sea","key":["cyoa","journey-under-the-sea"],"value":"Journey Under the Sea"}, -{"id":"the-mystery-of-chimney-rock","key":["cyoa","mystery-of-chimney-rock"],"value":"The Mystery of Chimney Rock"}, -{"id":"mystery-of-the-secret-room","key":["cyoa","mystery-of-the-secret-room"],"value":"Mystery of the Secret Room"}, -{"id":"the-mystery-of-ura-senke","key":["cyoa","mystery-of-ura-senke"],"value":"The Mystery of Ura Senke"}, -{"id":"a-new-hope","key":["cyoa","new-hope"],"value":"A New Hope"}, -{"id":"third-planet-from-altair","key":["cyoa","third-planet-from-altair"],"value":"Third Planet from Altair"}, -{"id":"cube","key":["doodle","cube"],"value":"Cube"}, -{"id":"python-grammar","key":["doodle","python-grammar"],"value":"Python Grammar"}, -{"id":"snowflake","key":["doodle","snowflake"],"value":"Snowflake"} -]} \ No newline at end of file +{ + "rows": [ + { + "value": "The Abominable Snowman", + "id": "the-abominable-snowman", + "key": [ + "cyoa", + "abominable-snowman" + ] + }, + { + "value": "Case Of The Silk King", + "id": "case-of-the-silk-king", + "key": [ + "cyoa", + "case-of-the-silk-king" + ] + }, + { + "value": "The Cave of Time", + "id": "the-cave-of-time", + "key": [ + "cyoa", + "cave-of-time" + ] + }, + { + "value": "The Cavern of Doom", + "id": "the-cavern-of-doom", + "key": [ + "cyoa", + "cavern-of-doom" + ] + }, + { + "value": "Date with Destiny ", + "id": "date-with-destiny", + "key": [ + "cyoa", + "date-with-destiny" + ] + }, + { + "value": "House of Danger", + "id": "house-of-danger", + "key": [ + "cyoa", + "house-of-danger" + ] + }, + { + "value": "Inside UFO 54-40", + "id": "inside-ufo-54-40", + "key": [ + "cyoa", + "inside-ufo-54-40" + ] + }, + { + "value": "Journey Under the Sea", + "id": "journey-under-the-sea", + "key": [ + "cyoa", + "journey-under-the-sea" + ] + }, + { + "value": "The Mystery of Chimney Rock", + "id": "the-mystery-of-chimney-rock", + "key": [ + "cyoa", + "mystery-of-chimney-rock" + ] + }, + { + "value": "Mystery of the Secret Room", + "id": "mystery-of-the-secret-room", + "key": [ + "cyoa", + "mystery-of-the-secret-room" + ] + }, + { + "value": "The Mystery of Ura Senke", + "id": "the-mystery-of-ura-senke", + "key": [ + "cyoa", + "mystery-of-ura-senke" + ] + }, + { + "value": "A New Hope", + "id": "a-new-hope", + "key": [ + "cyoa", + "new-hope" + ] + }, + { + "value": "Third Planet from Altair", + "id": "third-planet-from-altair", + "key": [ + "cyoa", + "third-planet-from-altair" + ] + }, + { + "value": "Cube", + "id": "cube", + "key": [ + "doodle", + "cube" + ] + }, + { + "value": "Python Grammar", + "id": "python-grammar", + "key": [ + "doodle", + "python-grammar" + ] + }, + { + "value": "Snowflake", + "id": "snowflake", + "key": [ + "doodle", + "snowflake" + ] + } + ], + "total_rows": 16, + "offset": 0 +}