From: Ian Jackson Date: Fri, 1 Apr 2022 21:33:03 +0000 (+0100) Subject: Docs update: Not beta, works on stable X-Git-Tag: otter-1.0.0~18 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6c722c099ca3be56653a26f658df9b1a0dce0b36;p=otter.git Docs update: Not beta, works on stable Signed-off-by: Ian Jackson --- diff --git a/README.md b/README.md index 46be60df..ab91c00f 100644 --- a/README.md +++ b/README.md @@ -92,12 +92,6 @@ systems could be made to work, but don't work well right now. Otter does not currently have even a built-in text chat facility. It does have a way to share a URL for a voice chat. -Right now Otter is in a beta state. There are significant -as-yet-unimplemented improvements that would make it work better for -more people and more games. I don't currently promise savefile -compatibility, or upgradeability, from one Otter version to the next. -And there are still bugs. - Free software, and user freedom ------------------------------- diff --git a/docs/build.rst b/docs/build.rst index 64eb8145..e3ce3f2f 100644 --- a/docs/build.rst +++ b/docs/build.rst @@ -39,20 +39,16 @@ Setup .. _rustup: https://rustup.rs -3. Switch your Rust install to use Rust Nightly and add the WASM - target:: + Otter is known to work with Rust 1.59. Probably, many earlier + versions well work. Current versions of the dependencies quoted in + ``Cargo.toml`` will work, but the minimum versions may be + optimistic - newer versions may be needed than are declared. + +3. Add the WASM Rust target:: - rustup default nightly rustup target add wasm32-unknown-unknown rustup component add miri # for the tests - Unfortunately, it is possible that the Rust Nightly you find when - you run this is missing some pieces, or is not compatible with the - version of Otter you have. The following is known to work with - Otter 0.7.1:: - - rustup default nightly-2022-03-19 # downloads 1bfe40d11 2022-03-18 - **If you just want to run the otter cli client over ssh to an existing server, or edit and preview the shape libraries (ie the piece shapes) you can stop here.** 4. For the tests, install the webdriver binary from Mozilla. Visit @@ -138,12 +134,6 @@ lesser account, you don't need to bother with that.) Apologia ........ -Rust Nightly -```````````` - -This was needed almost solely because Rocket needs it. -Hopefully we will compile on stable shortly. - The many dependencies of Otter `````````````````````````````` diff --git a/docs/dev.md b/docs/dev.md index 89b437be..641607ee 100644 --- a/docs/dev.md +++ b/docs/dev.md @@ -72,7 +72,7 @@ files. Adding shapes (pieces, cards, etc.) to the builtin library ---------------------------------------------------------- -(Consider defining an uploadable game bundle instead.) +(Consider making an uploadable game bundle instead.) Otter's builtin shape libraries use SVGs. The sources for the SVGs are all in the otter source tree, in the `library/` directory. @@ -82,6 +82,7 @@ Each shape is listed in one of the ``library/*.toml`` files, in a documented in the Rustdoc documentation for the module `otter::shapelib_toml`. If you run `make -j8 shapelib` it will print out a `file://` url for these docs. +XXX You can preview the shapes, including any changes you make, without a whole game server, by running `make -j8 shapelib`, and looking at @@ -133,10 +134,10 @@ Navigating the otter source code Code shared by the host and the WebAssembly. Notably, the Z coordinate handling, but also a a few other minor functions needed - by both client and server. To avoid duplicating they are written + by both client and server. To avoid duplication they are written once in Rust and compiled twice - once for the host and once for WebAssembly for use in the client. This crate is kept fairly small - to keeep the WebAssembly binary small (currently, ~100kby). + to keeep the WebAssembly binary small (currently, ~140kby). * `wasm/` @@ -189,6 +190,11 @@ Navigating the otter source code The tests produce a single portmanteau binary to reduce compile times. You run it with `target/debug/wdriver --test=wdt-something`. +* `jstest/` + + Node.js--based unit-end tests. + XXX explain + * `specs/`. The table and game specs, as used directly by `otter`. * `library/`: The shape libraries. diff --git a/docs/gamespec.rst b/docs/gamespec.rst index 9e6303e5..14c46d14 100644 --- a/docs/gamespec.rst +++ b/docs/gamespec.rst @@ -85,7 +85,7 @@ These apply regardless of the value of ``type``. * ``type``: Piece type or piece spec type. One of the types listed in `Piece Spec Types`_. [string, enum, required] - * ``pos``:Position, in game coordinates, of + * ``pos``: Position, in game coordinates, of the centre of the piece. The origin is at the top left. [2-element array, default ``[20,20]``]