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