Go to file
2023-04-27 21:49:52 -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
spatial-coordinate-systems Add ll parsing 2023-04-27 21:49:52 -04:00
src Cache rust build artifacts 2023-04-27 21:31:41 -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 Format 2023-03-25 00:50:56 -04:00
web-frontend Improve url format definition 2023-04-27 21:22:31 -04:00
wordlist Add words from desiquintans wordlist 2023-03-17 23:09:55 -04:00
words Start working on wide addresses 2023-04-18 14:55:02 -04:00
xpin-wasm Cache rust build artifacts 2023-04-27 21:31:41 -04:00
.gitignore Start working on new wordlist generation 2023-03-01 22:26:06 -05:00
build.earth Cache builder images 2023-04-17 19:41:08 -04:00
Cargo.lock Cargo update 2023-04-27 21:39:30 -04:00
Cargo.toml Cargo update 2023-04-18 21:13:42 -04:00
justfile Cargo update 2023-04-27 21:39:30 -04:00
README.adoc More work on spatial coordinate converter 2023-03-19 18:53:22 -04: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

|spatial-coordinate-systems
|Rust Crate
|Convert among latitude/longitude (DD), degree-minute (DM), degree-minute-second (DMS), UTM, and Pluscodes

|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

|===