From 5936a9abb05bf2fd01a4101998e3cad44851d14d Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 22 Mar 2022 23:12:44 -0700 Subject: docs(readme): rst to markdown --- Cargo.toml | 2 +- README.md | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.rst | 110 ------------------------------------------------------------- 3 files changed, 99 insertions(+), 111 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/Cargo.toml b/Cargo.toml index edc70f1..7edb295 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Fuwn "] edition = "2021" description = "Decoder and utility for the Flipnote Studios .ppm animation format." -readme = "README.rst" +readme = "README.md" homepage = "https://github.com/Usugata/para" repository = "https://github.com/Usugata/para" license = "MIT" diff --git a/README.md b/README.md new file mode 100644 index 0000000..085b761 --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# 🗃 `para` + +![](assets/para.png) + +## What? + +A decoder and utility for the Flipnote Studios `.ppm` animation format. + +## Why this implementation over [the original](https://github.com/Flipnote-Collective/ppm-parser)? + +This implementation is + +- [SIGNIFICANTLY faster](#speed), +- implemented in safe Rust (a language with strict type-checking!), +- and being actively updated. + +### Speed + +In a two-hundred-forty-four frame `.ppm` benchmark running the command +`$ para ./benchmark.ppm gif benchmark.gif` on a twelve-core, +twenty-four-thread Ryzen 9 processor, para took an average of 566.9893 milliseconds, +while ppm-parser took an average of 50.4171397 seconds. + +Running the command `$ para ./benchmark.ppm 0 benchmark.png` on a twelve-core, +twenty-four-thread Ryzen 9 processor, para took an average of 8.6251 milliseconds, +while ppm-parser took an average of 358.2232 milliseconds. + +Rust versus Python isn't very fair, however, this benchmark shows the speed improvements +that para brings to the table. + +## Things To Come + +- Support for other formats (namely `.kwz`) +- Optimizations here and there +- Friendlier CLI +- Possible GUI + +## Getting up and Running + +### Installation + +Prebuilt binaries for x86_64-based Linux systems and Windows are available in the +[releases](https://github.com/Usugata/para/releases/latest). If you are using +a different operating system or architecture such as macOS, you'll have to build +and install the tool yourself! + +```shell +$ cargo install --git https://github.com/Usugata/para --branch main +``` + +If you are building and installing yourself, you must have +[Rust](https://www.rust-lang.org/) installed! + +### Usage + +```shell +usage: para +index options: + gif + thumb + dump + integer(u16) +``` + +### Examples + +- `$ para ./example.ppm 23 example.png` will output the twenty-fourth frame + of `example.ppm` to `example.png` +- `$ para ./example.ppm thumb example.png` will output the thumbnail of + `example.ppm` to `example.png` +- `$ para ./example.ppm dump example.json` will output the metadata of + `example.ppm` to `example.json` +- `$ para ./example.ppm gif example.gif` will output `example.ppm` + to `example.gif` + +### Prebuilt Binaries + +Prebuilt binaries for the latest release may or may not be found +[here](https://github.com/Usugata/para/releases/latest). + +## Credits + +- [jaames](https://github.com/jaames) for completing PPM reverse-engineering and + writing the [original](https://github.com/Flipnote-Collective/ppm-parser) implementation. +- [bricklife](http://ugomemo.g.hatena.ne.jp/bricklife/20090307/1236391313), + [mirai-iro](http://mirai-iro.hatenablog.jp/entry/20090116/ugomemo_ppm), + [harimau_tigris](http://ugomemo.g.hatena.ne.jp/harimau_tigris), and other members + of the Japanese Flipnote community who started reverse-engineering the PPM format + almost as soon as the app was released. +- Midmad and WDLMaster for identifying the adpcm sound codec used. +- [steven](http://www.dsibrew.org/wiki/User:Steven) and + [yellows8](http://www.dsibrew.org/wiki/User:Yellows8) for the PPM documentation on DSiBrew. +- [PBSDS](https://github.com/pbsds) for more PPM reverse-engineering, as well as + writing [hatenatools](https://github.com/pbsds/Hatenatools) + +## License + +[MIT License](./LICENSE) diff --git a/README.rst b/README.rst deleted file mode 100644 index a173329..0000000 --- a/README.rst +++ /dev/null @@ -1,110 +0,0 @@ -🗃 :code:`para` -==================== - -.. image:: assets/para.png - -What? ------ - -A decoder and utility for the Flipnote Studios :code:`.ppm` animation format. - -Why this implementation over `the original `_? -------------------------------------------------------------------------------------------------- - -This implementation is - -- `SIGNIFICANTLY faster <#speed>`_, -- implemented in safe Rust (a language with strict type-checking!), -- and being actively updated. - -Speed -^^^^^ - -In a two-hundred-forty-four frame :code:`.ppm` benchmark running the command -:code:`$ para ./benchmark.ppm gif benchmark.gif` on a twelve-core, -twenty-four-thread Ryzen 9 processor, para took an average of 566.9893 milliseconds, -while ppm-parser took an average of 50.4171397 seconds. - -Running the command :code:`$ para ./benchmark.ppm 0 benchmark.png` on a twelve-core, -twenty-four-thread Ryzen 9 processor, para took an average of 8.6251 milliseconds, -while ppm-parser took an average of 358.2232 milliseconds. - -Rust versus Python isn't very fair, however, this benchmark shows the speed improvements -that para brings to the table. - -Things To Come --------------- - -- Support for other formats (namely :code:`.kwz`) -- Optimizations here and there -- Friendlier CLI -- Possible GUI - -Getting up and Running ----------------------- - -Installation -^^^^^^^^^^^^ - -Prebuilt binaries for x86_64-based Linux systems and Windows are available in the -`releases `_. If you are using -a different operating system or architecture such as macOS, you'll have to build and -install the tool yourself! - -.. code-block:: shell - - $ cargo install --git https://github.com/Usugata/para --branch main - -If you are building and installing yourself, you must have -`Rust `_ installed! - -Usage -^^^^^ - -.. code-block:: shell - - usage: para - index options: - gif - thumb - dump - integer(u16) - -Examples -^^^^^^^^ - -- :code:`$ para ./example.ppm 23 example.png` will output the twenty-fourth frame - of :code:`example.ppm` to :code:`example.png` -- :code:`$ para ./example.ppm thumb example.png` will output the thumbnail of - :code:`example.ppm` to :code:`example.png` -- :code:`$ para ./example.ppm dump example.json` will output the metadata of - :code:`example.ppm` to :code:`example.json` -- :code:`$ para ./example.ppm gif example.gif` will output :code:`example.ppm` - to :code:`example.gif` - -Prebuilt Binaries -""""""""""""""""" - -Prebuilt binaries for the latest release may or may not be found -`here `_. - -Credits -------- - -- `jaames `_ for completing PPM reverse-engineering and - writing the `original `_ implementation. -- `bricklife `_, - `mirai-iro `_, - `harimau_tigris `_, and other members - of the Japanese Flipnote community who started reverse-engineering the PPM format - almost as soon as the app was released. -- Midmad and WDLMaster for identifying the adpcm sound codec used. -- `steven `_ and - `yellows8 `_ for the PPM documentation on DSiBrew. -- `PBSDS `_ for more PPM reverse-engineering, as well as - writing `hatenatools `_ - -License -------- - -`MIT License <./LICENSE>`_ -- cgit v1.2.3