// 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 |===