diff --git a/Cargo.lock b/Cargo.lock index 69dd593..7b057f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1317,25 +1317,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "this_algorithm" -version = "0.1.0" -dependencies = [ - "csv", - "s2", - "serde", - "thiserror", - "words", -] - -[[package]] -name = "this_algorithm-wasm" -version = "0.1.0" -dependencies = [ - "this_algorithm", - "wasm-bindgen", -] - [[package]] name = "thiserror" version = "1.0.38" @@ -1666,8 +1647,8 @@ version = "0.1.0" dependencies = [ "rocket", "serde", - "this_algorithm", "tokio", + "xpin", ] [[package]] @@ -1827,6 +1808,25 @@ dependencies = [ "thiserror", ] +[[package]] +name = "xpin" +version = "0.1.0" +dependencies = [ + "csv", + "s2", + "serde", + "thiserror", + "words", +] + +[[package]] +name = "xpin-wasm" +version = "0.1.0" +dependencies = [ + "wasm-bindgen", + "xpin", +] + [[package]] name = "yansi" version = "0.5.1" diff --git a/Cargo.toml b/Cargo.toml index 8ed35c3..42143c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "this_algorithm" +name = "xpin" version = "0.1.0" edition = "2021" @@ -7,7 +7,7 @@ edition = "2021" members = [ ".", "./words", - "./this_algorithm-wasm/", + "./xpin-wasm/", "./web", ] diff --git a/README.adoc b/README.adoc index 787098a..3bdfc00 100644 --- a/README.adoc +++ b/README.adoc @@ -6,4 +6,4 @@ :rouge-style: molokai :sectlinks: -= this_algorithm += xpin diff --git a/docs/ALGORITHM.adoc b/docs/ALGORITHM.adoc index 6628fae..b8a3900 100644 --- a/docs/ALGORITHM.adoc +++ b/docs/ALGORITHM.adoc @@ -16,9 +16,9 @@ If you want to see the steps to get to this definition, go to link:DESIGN.html[D == Data format -[source,title='this_algorithm and S2 CellID Format'] +[source,title='xpin and S2 CellID Format'] ---- -=== this_algorithm Format === +=== xpin Format === WORD2 (13 bits) : vvvvvvvvvvvvv WORD1 (13 bits) : | |vvv vvvvvvvvvv WORD0 (13 bits) : | | |vvvvvv vvvvvvv diff --git a/docs/DESIGN.adoc b/docs/DESIGN.adoc index 65cc781..8ff6240 100644 --- a/docs/DESIGN.adoc +++ b/docs/DESIGN.adoc @@ -64,7 +64,7 @@ For a detailed comparison, go link:https://wiki.openstreetmap.org/wiki/What3word [%header,cols="h,,,,"] |=== | -|this_algorithm +|xpin |link:https://what3words.com/[what3words^] |link:https://xaddress.org/[Xaddress^] |link:https://maps.google.com/pluscodes/[Plus Codes^]/link:https://en.wikipedia.org/wiki/Open_Location_Code[Open Location Codes^] @@ -84,8 +84,8 @@ m|849VCWC8+R9 |Memorizable footnote:[This is subjective, of course. I am defining this to mean similar enough to an address, which I consider memorizable] |Yes -|Yes (is shorter than this_algorithm) -|Yes (is shorter than this_algorithm) +|Yes (is shorter than xpin) +|Yes (is shorter than xpin) |No |Small wordlist @@ -516,13 +516,13 @@ Considerations when designing a wordlist: . Bad words/negative words (`DEATH` should probably be excluded) . Different languages (if the algorithm could ever made non-English) -this_algorithm has a relatively small wordlist of length ~8192, so it is feasable to map all plural/singlar and homonym words to the same value, to prevent confusion. +xpin has a relatively small wordlist of length ~8192, so it is feasable to map all plural/singlar and homonym words to the same value, to prevent confusion. -NOTE: this_algorithm will disallow complex words, map homonyms and singular/plural words to the same value, and allow repition. +NOTE: xpin will disallow complex words, map homonyms and singular/plural words to the same value, and allow repition. ==== Wordlist -this_algorithm used link:https://github.com/hackerb9/gwordlist[hackerb9/gwordlist^] for the wordlist and associated frequencies. +xpin used link:https://github.com/hackerb9/gwordlist[hackerb9/gwordlist^] for the wordlist and associated frequencies. Only the first few thousand words from `frequency-all.txt.gz` were used. ==== Lemmatization @@ -634,7 +634,7 @@ Sample source code: [source,rust] ---- -// Translating lat, lon to this_algorithm +// Translating lat, lon to xpin impl<'a> From<&'a Point> for CellID { fn from(p: &'a Point) -> Self { @@ -776,7 +776,7 @@ All interfaces *must* use minimum resources (network, CPU, RAM), so they can run .Some Ideas for Interfaces . Command line -** `this_algorithm -e -90,180` \=> `\...` +** `xpin -e -90,180` \=> `\...` ** Useful for developers, test data generation, etc. ** Easiest to write @@ -790,7 +790,7 @@ All interfaces *must* use minimum resources (network, CPU, RAM), so they can run . Offline PWA ** Useful for smartphones ** Should work offline if possible, but also interface with Google Maps/JAWG/OSM if there is internet connectivity -** Allows users to translate any link (Google Maps/OSM/Apple Maps) to this_algorithm as a share target +** Allows users to translate any link (Google Maps/OSM/Apple Maps) to xpin as a share target . OSMAnd/Other existing mapping applications * Requires input from these applications diff --git a/docs/WORDLIST.adoc b/docs/WORDLIST.adoc index a97e813..13cedc4 100644 --- a/docs/WORDLIST.adoc +++ b/docs/WORDLIST.adoc @@ -11,11 +11,11 @@ == Description -The wordlist for this_algorithm begins with the wordlist from link:https://github.com/ps-kostikov/english-word-frequency/[ps-kostikov/english-word-frequency^] (link:https://github.com/ps-kostikov/english-word-frequency/blob/master/data/frequency_list.txt[data/frequency_list.txt^]) +The wordlist for xpin begins with the wordlist from link:https://github.com/ps-kostikov/english-word-frequency/[ps-kostikov/english-word-frequency^] (link:https://github.com/ps-kostikov/english-word-frequency/blob/master/data/frequency_list.txt[data/frequency_list.txt^]) But this list is not sufficient. It contains profane, negative, or words otherwise unfit for this algorithm. -Because the wordlist required for this_algorithm is relatively small (8194), we can reduce this 53,000 word list substantially. +Because the wordlist required for xpin is relatively small (8194), we can reduce this 53,000 word list substantially. == Processing diff --git a/docs/index.adoc b/docs/index.adoc index 975bea0..a2ddd50 100644 --- a/docs/index.adoc +++ b/docs/index.adoc @@ -6,7 +6,7 @@ :rouge-style: molokai :sectlinks: -= this_algorithm += xpin == Pages diff --git a/justfile b/justfile index 2d08f84..e82c21a 100644 --- a/justfile +++ b/justfile @@ -12,7 +12,7 @@ rust-build: cargo build --all build-wasm: - wasm-pack build --target web this_algorithm-wasm + wasm-pack build --target web xpin-wasm js-build: build-wasm yarn --cwd ./web-frontend/ build diff --git a/src/lib.rs b/src/lib.rs index 9e44503..e67d286 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -67,7 +67,7 @@ pub enum Error { } #[allow(clippy::doc_markdown)] -/// An encoded this_algorithm address +/// An encoded xpin address #[derive(Debug, Clone, PartialEq, Eq)] pub struct Address<'a> { number: Number, diff --git a/tests/algorithm.rs b/tests/algorithm.rs index 6170dd5..3c73a5f 100644 --- a/tests/algorithm.rs +++ b/tests/algorithm.rs @@ -1,7 +1,7 @@ use common::test_events; use s2::cellid::CellID; -use this_algorithm::Error; -use this_algorithm::{Address, CELLID_LEVEL}; +use xpin::Error; +use xpin::{Address, CELLID_LEVEL}; #[macro_use] mod common; use common::approx_geodetic_difference_m; diff --git a/tests/display.rs b/tests/display.rs index cd41403..ca08897 100644 --- a/tests/display.rs +++ b/tests/display.rs @@ -1,5 +1,5 @@ // use std::str::FromStr; -// use this_algorithm::Address; +// use xpin::Address; mod common; // #[test] // fn test_v0() { diff --git a/web-frontend/src/routes/+layout.svelte b/web-frontend/src/routes/+layout.svelte index d7c53e1..4356678 100644 --- a/web-frontend/src/routes/+layout.svelte +++ b/web-frontend/src/routes/+layout.svelte @@ -32,12 +32,12 @@ Home Encode - + Decode diff --git a/web-frontend/src/routes/encode/+page.svelte b/web-frontend/src/routes/encode/+page.svelte index ef1e5a4..427f2fe 100644 --- a/web-frontend/src/routes/encode/+page.svelte +++ b/web-frontend/src/routes/encode/+page.svelte @@ -1,6 +1,6 @@