Actually render things in Warp
This commit is contained in:
		
							
								
								
									
										329
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										329
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,5 +1,14 @@ | |||||||
| # This file is automatically @generated by Cargo. | # This file is automatically @generated by Cargo. | ||||||
| # It is not intended for manual editing. | # It is not intended for manual editing. | ||||||
|  | [[package]] | ||||||
|  | name = "aho-corasick" | ||||||
|  | version = "0.7.10" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" | ||||||
|  | dependencies = [ | ||||||
|  |  "memchr", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "arc-swap" | name = "arc-swap" | ||||||
| version = "0.4.6" | version = "0.4.6" | ||||||
| @@ -72,6 +81,15 @@ dependencies = [ | |||||||
|  "byte-tools", |  "byte-tools", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "bstr" | ||||||
|  | version = "0.2.13" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "31accafdb70df7871592c058eca3985b71104e15ac32f64706022c58867da931" | ||||||
|  | dependencies = [ | ||||||
|  |  "memchr", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "buf_redux" | name = "buf_redux" | ||||||
| version = "0.8.4" | version = "0.8.4" | ||||||
| @@ -106,6 +124,8 @@ version = "0.1.0" | |||||||
| dependencies = [ | dependencies = [ | ||||||
|  "legion", |  "legion", | ||||||
|  "rand 0.7.3", |  "rand 0.7.3", | ||||||
|  |  "serde", | ||||||
|  |  "tera", | ||||||
|  "tokio", |  "tokio", | ||||||
|  "warp", |  "warp", | ||||||
| ] | ] | ||||||
| @@ -116,6 +136,27 @@ version = "0.1.10" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" | checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "chrono" | ||||||
|  | version = "0.4.11" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" | ||||||
|  | dependencies = [ | ||||||
|  |  "num-integer", | ||||||
|  |  "num-traits", | ||||||
|  |  "time", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "chrono-tz" | ||||||
|  | version = "0.5.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e0e430fad0384e4defc3dc6b1223d1b886087a8bf9b7080e5ae027f73851ea15" | ||||||
|  | dependencies = [ | ||||||
|  |  "chrono", | ||||||
|  |  "parse-zoneinfo", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "cloudabi" | name = "cloudabi" | ||||||
| version = "0.0.3" | version = "0.0.3" | ||||||
| @@ -207,6 +248,12 @@ dependencies = [ | |||||||
|  "syn 0.15.44", |  "syn 0.15.44", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "deunicode" | ||||||
|  | version = "0.4.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "digest" | name = "digest" | ||||||
| version = "0.8.1" | version = "0.8.1" | ||||||
| @@ -383,6 +430,30 @@ dependencies = [ | |||||||
|  "wasi", |  "wasi", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "globset" | ||||||
|  | version = "0.4.5" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "7ad1da430bd7281dde2576f44c84cc3f0f7b475e7202cd503042dff01a8c8120" | ||||||
|  | dependencies = [ | ||||||
|  |  "aho-corasick", | ||||||
|  |  "bstr", | ||||||
|  |  "fnv", | ||||||
|  |  "log 0.4.8", | ||||||
|  |  "regex", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "globwalk" | ||||||
|  | version = "0.8.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "178270263374052c40502e9f607134947de75302c1348d1a0e31db67c1691446" | ||||||
|  | dependencies = [ | ||||||
|  |  "bitflags", | ||||||
|  |  "ignore", | ||||||
|  |  "walkdir", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "h2" | name = "h2" | ||||||
| version = "0.2.5" | version = "0.2.5" | ||||||
| @@ -463,6 +534,12 @@ version = "1.3.4" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" | checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "humansize" | ||||||
|  | version = "1.1.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "b6cab2627acfc432780848602f3f558f7e9dd427352224b0d9324025796d2a5e" | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "hyper" | name = "hyper" | ||||||
| version = "0.13.6" | version = "0.13.6" | ||||||
| @@ -498,6 +575,24 @@ dependencies = [ | |||||||
|  "unicode-normalization", |  "unicode-normalization", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "ignore" | ||||||
|  | version = "0.4.16" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "22dcbf2a4a289528dbef21686354904e1c694ac642610a9bff9e7df730d9ec72" | ||||||
|  | dependencies = [ | ||||||
|  |  "crossbeam-utils", | ||||||
|  |  "globset", | ||||||
|  |  "lazy_static", | ||||||
|  |  "log 0.4.8", | ||||||
|  |  "memchr", | ||||||
|  |  "regex", | ||||||
|  |  "same-file", | ||||||
|  |  "thread_local", | ||||||
|  |  "walkdir", | ||||||
|  |  "winapi-util", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "indexmap" | name = "indexmap" | ||||||
| version = "1.3.2" | version = "1.3.2" | ||||||
| @@ -608,6 +703,12 @@ dependencies = [ | |||||||
|  "cfg-if", |  "cfg-if", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "maplit" | ||||||
|  | version = "1.0.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "matches" | name = "matches" | ||||||
| version = "0.1.8" | version = "0.1.8" | ||||||
| @@ -765,6 +866,25 @@ dependencies = [ | |||||||
|  "winapi 0.3.8", |  "winapi 0.3.8", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "num-integer" | ||||||
|  | version = "0.1.42" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" | ||||||
|  | dependencies = [ | ||||||
|  |  "autocfg 1.0.0", | ||||||
|  |  "num-traits", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "num-traits" | ||||||
|  | version = "0.2.11" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" | ||||||
|  | dependencies = [ | ||||||
|  |  "autocfg 1.0.0", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "num_cpus" | name = "num_cpus" | ||||||
| version = "1.13.0" | version = "1.13.0" | ||||||
| @@ -813,6 +933,15 @@ dependencies = [ | |||||||
|  "winapi 0.3.8", |  "winapi 0.3.8", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "parse-zoneinfo" | ||||||
|  | version = "0.2.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "feece9d0113b400182a7d00adcff81ccf29158c49c5abd11e2eed8589bf6ff07" | ||||||
|  | dependencies = [ | ||||||
|  |  "regex", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "paste" | name = "paste" | ||||||
| version = "0.1.15" | version = "0.1.15" | ||||||
| @@ -841,6 +970,49 @@ version = "2.1.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" | checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "pest" | ||||||
|  | version = "2.1.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" | ||||||
|  | dependencies = [ | ||||||
|  |  "ucd-trie", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "pest_derive" | ||||||
|  | version = "2.1.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" | ||||||
|  | dependencies = [ | ||||||
|  |  "pest", | ||||||
|  |  "pest_generator", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "pest_generator" | ||||||
|  | version = "2.1.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" | ||||||
|  | dependencies = [ | ||||||
|  |  "pest", | ||||||
|  |  "pest_meta", | ||||||
|  |  "proc-macro2 1.0.17", | ||||||
|  |  "quote 1.0.6", | ||||||
|  |  "syn 1.0.29", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "pest_meta" | ||||||
|  | version = "2.1.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" | ||||||
|  | dependencies = [ | ||||||
|  |  "maplit", | ||||||
|  |  "pest", | ||||||
|  |  "sha-1", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "phf" | name = "phf" | ||||||
| version = "0.7.24" | version = "0.7.24" | ||||||
| @@ -1158,6 +1330,24 @@ version = "0.1.56" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" | checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "regex" | ||||||
|  | version = "1.3.9" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" | ||||||
|  | dependencies = [ | ||||||
|  |  "aho-corasick", | ||||||
|  |  "memchr", | ||||||
|  |  "regex-syntax", | ||||||
|  |  "thread_local", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "regex-syntax" | ||||||
|  | version = "0.6.18" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "remove_dir_all" | name = "remove_dir_all" | ||||||
| version = "0.5.2" | version = "0.5.2" | ||||||
| @@ -1188,6 +1378,15 @@ version = "0.3.3" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" | checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "same-file" | ||||||
|  | version = "1.0.6" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" | ||||||
|  | dependencies = [ | ||||||
|  |  "winapi-util", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "scoped-tls" | name = "scoped-tls" | ||||||
| version = "1.0.0" | version = "1.0.0" | ||||||
| @@ -1220,6 +1419,20 @@ name = "serde" | |||||||
| version = "1.0.111" | version = "1.0.111" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "c9124df5b40cbd380080b2cc6ab894c040a3070d995f5c9dc77e18c34a8ae37d" | checksum = "c9124df5b40cbd380080b2cc6ab894c040a3070d995f5c9dc77e18c34a8ae37d" | ||||||
|  | dependencies = [ | ||||||
|  |  "serde_derive", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "serde_derive" | ||||||
|  | version = "1.0.111" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "3f2c3ac8e6ca1e9c80b8be1023940162bf81ae3cffbb1809474152f2ce1eb250" | ||||||
|  | dependencies = [ | ||||||
|  |  "proc-macro2 1.0.17", | ||||||
|  |  "quote 1.0.6", | ||||||
|  |  "syn 1.0.29", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "serde_json" | name = "serde_json" | ||||||
| @@ -1291,6 +1504,15 @@ version = "0.4.2" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" | checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "slug" | ||||||
|  | version = "0.1.4" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" | ||||||
|  | dependencies = [ | ||||||
|  |  "deunicode", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "smallvec" | name = "smallvec" | ||||||
| version = "0.6.13" | version = "0.6.13" | ||||||
| @@ -1354,6 +1576,37 @@ dependencies = [ | |||||||
|  "winapi 0.3.8", |  "winapi 0.3.8", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "tera" | ||||||
|  | version = "1.3.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "44567278e3f16c6f888f4a1426d1af33827e6bffbe3911fe24aec2c594f0dfcb" | ||||||
|  | dependencies = [ | ||||||
|  |  "chrono", | ||||||
|  |  "chrono-tz", | ||||||
|  |  "globwalk", | ||||||
|  |  "humansize", | ||||||
|  |  "lazy_static", | ||||||
|  |  "percent-encoding", | ||||||
|  |  "pest", | ||||||
|  |  "pest_derive", | ||||||
|  |  "rand 0.7.3", | ||||||
|  |  "regex", | ||||||
|  |  "serde", | ||||||
|  |  "serde_json", | ||||||
|  |  "slug", | ||||||
|  |  "unic-segment", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "thread_local" | ||||||
|  | version = "1.0.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" | ||||||
|  | dependencies = [ | ||||||
|  |  "lazy_static", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "time" | name = "time" | ||||||
| version = "0.1.43" | version = "0.1.43" | ||||||
| @@ -1503,6 +1756,62 @@ version = "1.12.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" | checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "ucd-trie" | ||||||
|  | version = "0.1.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "unic-char-property" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" | ||||||
|  | dependencies = [ | ||||||
|  |  "unic-char-range", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "unic-char-range" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "unic-common" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "unic-segment" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23" | ||||||
|  | dependencies = [ | ||||||
|  |  "unic-ucd-segment", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "unic-ucd-segment" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700" | ||||||
|  | dependencies = [ | ||||||
|  |  "unic-char-property", | ||||||
|  |  "unic-char-range", | ||||||
|  |  "unic-ucd-version", | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "unic-ucd-version" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" | ||||||
|  | dependencies = [ | ||||||
|  |  "unic-common", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "unicase" | name = "unicase" | ||||||
| version = "1.4.2" | version = "1.4.2" | ||||||
| @@ -1586,6 +1895,17 @@ version = "0.9.2" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" | checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "walkdir" | ||||||
|  | version = "2.3.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" | ||||||
|  | dependencies = [ | ||||||
|  |  "same-file", | ||||||
|  |  "winapi 0.3.8", | ||||||
|  |  "winapi-util", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "want" | name = "want" | ||||||
| version = "0.3.0" | version = "0.3.0" | ||||||
| @@ -1656,6 +1976,15 @@ version = "0.4.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "winapi-util" | ||||||
|  | version = "0.1.5" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" | ||||||
|  | dependencies = [ | ||||||
|  |  "winapi 0.3.8", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "winapi-x86_64-pc-windows-gnu" | name = "winapi-x86_64-pc-windows-gnu" | ||||||
| version = "0.4.0" | version = "0.4.0" | ||||||
|   | |||||||
| @@ -10,5 +10,7 @@ license = "AGPL-3.0-or-later" | |||||||
| [dependencies] | [dependencies] | ||||||
| legion = "0.2.1" | legion = "0.2.1" | ||||||
| rand = "0.7.3" | rand = "0.7.3" | ||||||
|  | serde = { version = "1.0", features= ["derive"] } | ||||||
|  | tera = "1" | ||||||
| tokio = { version = "0.2", features = ["full"] } | tokio = { version = "0.2", features = ["full"] } | ||||||
| warp = "0.2" | warp = "0.2" | ||||||
							
								
								
									
										47
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								src/main.rs
									
									
									
									
									
								
							| @@ -2,38 +2,61 @@ mod simulation; | |||||||
| mod state; | mod state; | ||||||
|  |  | ||||||
| use std::convert::Infallible; | use std::convert::Infallible; | ||||||
|  | use std::sync::Arc; | ||||||
|  |  | ||||||
|  | use tera::{Context, Tera}; | ||||||
| use tokio::sync::watch; | use tokio::sync::watch; | ||||||
| use warp::Filter; | use warp::Filter; | ||||||
|  |  | ||||||
| use simulation::Simulation; | use simulation::Simulation; | ||||||
| use state::State; | use state::State; | ||||||
|  |  | ||||||
|  | struct WithTemplate { | ||||||
|  |     name: &'static str, | ||||||
|  |     context: Context, | ||||||
|  | } | ||||||
|  |  | ||||||
| #[tokio::main] | #[tokio::main] | ||||||
| async fn main() { | async fn main() { | ||||||
|     let mut simulation = Simulation::new(); |     let mut simulation = Simulation::new(); | ||||||
|     let state_channel = simulation.state(); |     let state_channel = simulation.state(); | ||||||
|  |  | ||||||
|  |     let tr = match Tera::new("templates/**/*.tera") { | ||||||
|  |         Ok(t) => t, | ||||||
|  |         Err(e) => { | ||||||
|  |             println!("Parsing error(s): {}", e); | ||||||
|  |             ::std::process::exit(1); | ||||||
|  |         } | ||||||
|  |     }; | ||||||
|  |     let tr = Arc::new(tr); | ||||||
|  |     let tera = move |with_template| render(with_template, tr.clone()); | ||||||
|  |  | ||||||
|     let sim = tokio::spawn(async move { |     let sim = tokio::spawn(async move { | ||||||
|         simulation.run().await; |         simulation.run().await; | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     let hello = warp::path!("hello" / String) |     let hello = warp::get().and(warp::path::end()) | ||||||
|         .map(move |name| { (name, state_channel.clone()) }) |         .map(move || (state_channel.clone())) | ||||||
|         .and_then(|(name, channel)| async move { hello(name, channel).await }); |         .and_then(|channel| async move { get_state(channel).await }) | ||||||
|  |         .map(|state| WithTemplate { | ||||||
|  |             name: "stuff.tera", | ||||||
|  |             context: Context::from_serialize(state).unwrap() | ||||||
|  |         }) | ||||||
|  |         .map(tera); | ||||||
|  |  | ||||||
|     let server = tokio::spawn(async move { warp::serve(hello).run(([127, 0, 0, 1], 3030)).await }); |     let server = tokio::spawn(async move { warp::serve(hello).run(([127, 0, 0, 1], 3030)).await }); | ||||||
|  |  | ||||||
|     tokio::try_join!(sim, server).unwrap(); |     tokio::try_join!(sim, server).unwrap(); | ||||||
| } | } | ||||||
|  |  | ||||||
| async fn hello( | async fn get_state(mut channel: watch::Receiver<State>) -> Result<State, Infallible> { | ||||||
|     name: String, |     Ok(channel.recv().await.unwrap()) | ||||||
|     mut state_channel: watch::Receiver<State>, | } | ||||||
| ) -> Result<impl warp::Reply, Infallible> { |  | ||||||
|     Ok(format!( | fn render(template: WithTemplate, tera: Arc<Tera>) -> impl warp::Reply { | ||||||
|         "Hello, {}! We're at iteration {}", |     let render = tera | ||||||
|         name, |         .render(template.name, &template.context) | ||||||
|         state_channel.recv().await.unwrap().iteration |         .unwrap_or_else(|err| err.to_string()); | ||||||
|     )) |  | ||||||
|  |     warp::reply::html(render) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,11 +1,13 @@ | |||||||
| #[derive(Clone, Debug)] | use serde::Serialize; | ||||||
|  |  | ||||||
|  | #[derive(Clone, Debug, Serialize)] | ||||||
| pub struct Object { | pub struct Object { | ||||||
|     pub name: String, |     pub name: String, | ||||||
|     pub x: f64, |     pub x: f64, | ||||||
|     pub y: f64, |     pub y: f64, | ||||||
| } | } | ||||||
|  |  | ||||||
| #[derive(Clone, Debug)] | #[derive(Clone, Debug, Serialize)] | ||||||
| pub struct State { | pub struct State { | ||||||
|     pub iteration: u64, |     pub iteration: u64, | ||||||
|     pub objects: Vec<Object>, |     pub objects: Vec<Object>, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user