Go to file
2023-03-11 17:49:46 -05:00
data Update wordlist 2023-03-05 23:47:31 -05:00
docs Update to use four digits and 4k wordlist size 2023-03-06 22:58:22 -05:00
src Minor cleanup 2023-03-11 16:42:52 -05:00
test-data Allow wrapping and update test data to include previously out-of-bounds lat/lon 2023-03-11 16:27:18 -05:00
tests Allow wrapping and update test data to include previously out-of-bounds lat/lon 2023-03-11 16:27:18 -05:00
web Update web to serve embedded static files 2023-03-11 17:40:38 -05:00
web-frontend Make map size more reasonable 2023-03-11 16:42:45 -05:00
wordlist Minor cleanup 2023-03-11 16:42:52 -05:00
words Update wordlist 2023-03-11 14:57:00 -05:00
xpin-wasm Rename this_algorithm to xpin 2023-03-02 18:55:40 -05:00
.gitignore Start working on new wordlist generation 2023-03-01 22:26:06 -05:00
build.earth Cleanup justfile and fix tests 2023-02-28 09:36:36 -05:00
Cargo.lock Update web to serve embedded static files 2023-03-11 17:40:38 -05:00
Cargo.toml Compute the max difference between actual and expected distances 2023-03-11 15:18:01 -05:00
justfile Update to use four digits and 4k wordlist size 2023-03-06 22:58:22 -05:00
README.adoc Update readme 2023-03-11 17:49:46 -05:00

// echo README.adoc | entr sh -c "podman run --rm -it --network none -v "${PWD}:/documents/" asciidoctor/docker-asciidoctor asciidoctor -r asciidoctor-mathematical -a mathematical-format=svg README.adoc; printf 'Done ($(date -Isecond))\n'"
// :toc:
:nofooter:
:!webfonts:
:source-highlighter: rouge
:rouge-style: molokai
:sectlinks:

= xpin

== File Structure

In order of dependency, the role of each of these directories in this repository is:

[cols="m,,"]
|===
|Directory |Contents |Description

|docs
|Asciidoctor documentation
|Design decisions and algorithm definition documentation

|wordlist
|Python/CSV
|Wordlist sources and generator code

|test-data
|C++/CSV
|Test data mapping random and hand-picked lat/lon transformed to CellIDs and xpin addresses.
Also contains source code linking to the C++ S2 library to ensure CellIDs are translated properly.

|words
|Rust Crate
|Crate to store the mapping of words and their associated numeric values.

|src
|Rust Crate
|Main crate containing the algorithm

|tests
|
|Integration tests

|xpin-wasm
|Rust Crate
|WASM bindings for xpin

|web-frontend
|Svelte/JavaScript
|Web-based frontend for ease of use

|build
|HTML web-fontend/HTML docs/WASM Binary
|Compile destination for web-frontend, xpin-wasm, and the docs documentation

|web
|Rust Crate
|Static server that contains an API as well as embedding all resources from the build directory

|===