Go to file
2023-03-17 23:10:12 -04:00
data Update wordlist 2023-03-05 23:47:31 -05:00
docs Add words from desiquintans wordlist 2023-03-17 23:09:55 -04:00
src Minor fixes 2023-03-16 01:18:59 -04: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 Cleanup 2023-03-15 23:44:43 -04:00
web-frontend Update docs 2023-03-17 23:10:12 -04:00
wordlist Add words from desiquintans wordlist 2023-03-17 23:09:55 -04:00
words Cleanup 2023-03-16 00:03:37 -04:00
xpin-wasm Start consolidating encoded addresses 2023-03-14 23:26:42 -04:00
.gitignore Start working on new wordlist generation 2023-03-01 22:26:06 -05:00
build.earth Update docs 2023-03-17 23:10:12 -04:00
Cargo.lock Cleanup 2023-03-15 23:44:43 -04:00
Cargo.toml Make web-frontend a crate that automatically rebuilds 2023-03-15 23:41:04 -04:00
justfile Update docs 2023-03-17 23:10:12 -04: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

|===