From dc175aabd79376e5c5f3e0a7ab120f8e95aad582 Mon Sep 17 00:00:00 2001 From: Jasper Fortuin Date: Sat, 5 Mar 2022 17:58:17 +0100 Subject: [PATCH 1/8] N31: vach --- content/news/031/index.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/content/news/031/index.md b/content/news/031/index.md index eac85a3b4..49e92892e 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -76,6 +76,30 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library Updates +### [Vach] +[Vach] is a file format that was developped from the ground up for games by [@zeskeertwee] and [@sokorototo]. + +It's primary design considerations were (in no perticular order): + +- Be a archive format able to contain multiple files in one +- Have optional compression, *configurable per entry in the archive* +- Have optional encryption, *configurable per entry in the archive* +- Be as fast as possible by seeking through the file as little as possible +- Be as compact as possible, even without compression +- Allowing for some metadata per entry, which is currently 1 byte per entry for the content-version +- Be multithreaded, if the user wants this + +We've also made significant progress on the CLI for [Vach], [Vach-cli], which is now finally multithreaded as well! + +You can try [Vach] right now by installing [Vach-cli]: `cargo install vach-cli` + +If you run into any issues or have suggestions, please feel free to open an issue on the [Vach] github repository, as it really helps us to mature the library and CLI! + +[Vach]: https://github.com/zeskeertwee/vach +[Vach-cli]: https://github.com/zeskeertwee/vach/tree/main/vach-cli +[@zeskeertwee]: https://github.com/zeskeertwee +[@sokorototo]: https://github.com/sokorototo + ## Popular Workgroup Issues in Github From c5931404aa9a19959a2d730737a8544df9bd7508 Mon Sep 17 00:00:00 2001 From: Jasper Fortuin Date: Sat, 5 Mar 2022 18:02:35 +0100 Subject: [PATCH 2/8] make sure there are no super-long lines --- content/news/031/index.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index 49e92892e..97ed294d8 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -77,7 +77,8 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library Updates ### [Vach] -[Vach] is a file format that was developped from the ground up for games by [@zeskeertwee] and [@sokorototo]. +[Vach] is a file format that was developped from the ground up for games +by [@zeskeertwee] and [@sokorototo]. It's primary design considerations were (in no perticular order): @@ -86,14 +87,18 @@ It's primary design considerations were (in no perticular order): - Have optional encryption, *configurable per entry in the archive* - Be as fast as possible by seeking through the file as little as possible - Be as compact as possible, even without compression -- Allowing for some metadata per entry, which is currently 1 byte per entry for the content-version +- Allowing for some metadata per entry, +which is currently 1 byte per entry for the content-version - Be multithreaded, if the user wants this -We've also made significant progress on the CLI for [Vach], [Vach-cli], which is now finally multithreaded as well! +We've also made significant progress on the CLI for [Vach], [Vach-cli], +which is now finally multithreaded as well! You can try [Vach] right now by installing [Vach-cli]: `cargo install vach-cli` -If you run into any issues or have suggestions, please feel free to open an issue on the [Vach] github repository, as it really helps us to mature the library and CLI! +If you run into any issues or have suggestions, +please feel free to open an issue on the [Vach] github repository, +as it really helps us to mature the library and CLI! [Vach]: https://github.com/zeskeertwee/vach [Vach-cli]: https://github.com/zeskeertwee/vach/tree/main/vach-cli From 38bd695003251057ae80c19fefb0eaa7eb4a839f Mon Sep 17 00:00:00 2001 From: Jasper Fortuin Date: Sat, 5 Mar 2022 19:21:14 +0100 Subject: [PATCH 3/8] some minor things --- content/news/031/index.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index 97ed294d8..d529adb64 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -76,12 +76,13 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library Updates -### [Vach] -[Vach] is a file format that was developped from the ground up for games +### [vach] +[vach] is a file format that was developped from the ground up for games by [@zeskeertwee] and [@sokorototo]. It's primary design considerations were (in no perticular order): +- Have a simple, yet complete library interface - Be a archive format able to contain multiple files in one - Have optional compression, *configurable per entry in the archive* - Have optional encryption, *configurable per entry in the archive* @@ -91,17 +92,17 @@ It's primary design considerations were (in no perticular order): which is currently 1 byte per entry for the content-version - Be multithreaded, if the user wants this -We've also made significant progress on the CLI for [Vach], [Vach-cli], +We've also made significant progress on the CLI for [vach], [vach-cli], which is now finally multithreaded as well! -You can try [Vach] right now by installing [Vach-cli]: `cargo install vach-cli` +You can try [vach] right now by installing [vach-cli]: `cargo install vach-cli` If you run into any issues or have suggestions, -please feel free to open an issue on the [Vach] github repository, +please feel free to open an issue on the [vach] github repository, as it really helps us to mature the library and CLI! -[Vach]: https://github.com/zeskeertwee/vach -[Vach-cli]: https://github.com/zeskeertwee/vach/tree/main/vach-cli +[vach]: https://github.com/zeskeertwee/vach +[vach-cli]: https://github.com/zeskeertwee/vach/tree/main/vach-cli [@zeskeertwee]: https://github.com/zeskeertwee [@sokorototo]: https://github.com/sokorototo From 9fb1dfc71b6de83888767b0f2ba3de5b1e01bbf6 Mon Sep 17 00:00:00 2001 From: Newton Toto <53893043+sokorototo@users.noreply.github.com> Date: Mon, 7 Mar 2022 13:21:09 +0300 Subject: [PATCH 4/8] Made some changes to the entry --- content/news/031/index.md | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index d529adb64..6ccbe3ad2 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -77,32 +77,25 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library Updates ### [vach] -[vach] is a file format that was developped from the ground up for games -by [@zeskeertwee] and [@sokorototo]. -It's primary design considerations were (in no perticular order): +[vach] is an archiving file format developed from the ground up for games and other realtime applications by [@zeskeertwee] and [@sokorototo]. It is written in pure Rust. -- Have a simple, yet complete library interface -- Be a archive format able to contain multiple files in one -- Have optional compression, *configurable per entry in the archive* -- Have optional encryption, *configurable per entry in the archive* -- Be as fast as possible by seeking through the file as little as possible -- Be as compact as possible, even without compression -- Allowing for some metadata per entry, -which is currently 1 byte per entry for the content-version -- Be multithreaded, if the user wants this +It's primary objectives (in no perticular order) are: -We've also made significant progress on the CLI for [vach], [vach-cli], -which is now finally multithreaded as well! +- Have a simple, yet complete API. +- Fine control over each individual entry in an archive, ie neighbouring entries can have vastly different compression schemes. +- Support compression (with multiple compression schemes), enryption, signatures for data authentication +- Efficient fetching of data by avoiding unnecessary traversal of the file. Once a file is parsed locations of every entry are known to the loader. +- Be as compact as possible, the smallest valid archive is only 13 bytes. +- Each entry has some metadata attached to it, this is implemented using bitflags and up to 8 bits are free to the user. +- Has mutlithreaded implementations of both the loader and the writer. -You can try [vach] right now by installing [vach-cli]: `cargo install vach-cli` +A [cli][vach-cli] is available meaning one can use vach as a general purpose archive format. The CLI is fully multithreaded, allowing for insane un/packing speeds. -If you run into any issues or have suggestions, -please feel free to open an issue on the [vach] github repository, -as it really helps us to mature the library and CLI! +Feel free to drop into the [repo][vach] and open an issue, pull request or drop a star 🌟. It helps maintain momentum in the project. [vach]: https://github.com/zeskeertwee/vach -[vach-cli]: https://github.com/zeskeertwee/vach/tree/main/vach-cli +[vach-cli]: https://crates.io/crates/vach-cli [@zeskeertwee]: https://github.com/zeskeertwee [@sokorototo]: https://github.com/sokorototo From 9b9f2a9076525f3ac6db94b62bf6387990521138 Mon Sep 17 00:00:00 2001 From: Newton Toto <53893043+sokorototo@users.noreply.github.com> Date: Mon, 7 Mar 2022 13:23:46 +0300 Subject: [PATCH 5/8] Edits to the `vach` in the library updates setion --- content/news/031/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index 6ccbe3ad2..fee4a0a45 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -90,7 +90,7 @@ It's primary objectives (in no perticular order) are: - Each entry has some metadata attached to it, this is implemented using bitflags and up to 8 bits are free to the user. - Has mutlithreaded implementations of both the loader and the writer. -A [cli][vach-cli] is available meaning one can use vach as a general purpose archive format. The CLI is fully multithreaded, allowing for insane un/packing speeds. +A [cli][vach-cli] is allowing one to use vach as a general purpose archive format. The CLI is fully multithreaded, allowing for insane un/packing speeds. Feel free to drop into the [repo][vach] and open an issue, pull request or drop a star 🌟. It helps maintain momentum in the project. From 207e65275a931a8966177c462d16a93412e7bcf6 Mon Sep 17 00:00:00 2001 From: Joe Clay <27cupsofcoffee@gmail.com> Date: Mon, 7 Mar 2022 19:06:47 +0000 Subject: [PATCH 6/8] Apply suggestions from code review --- content/news/031/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index fee4a0a45..406a9f80b 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -80,17 +80,17 @@ If needed, a section can be split into subsections with a "------" delimiter. [vach] is an archiving file format developed from the ground up for games and other realtime applications by [@zeskeertwee] and [@sokorototo]. It is written in pure Rust. -It's primary objectives (in no perticular order) are: +Its primary objectives (in no particular order) are: - Have a simple, yet complete API. -- Fine control over each individual entry in an archive, ie neighbouring entries can have vastly different compression schemes. -- Support compression (with multiple compression schemes), enryption, signatures for data authentication -- Efficient fetching of data by avoiding unnecessary traversal of the file. Once a file is parsed locations of every entry are known to the loader. -- Be as compact as possible, the smallest valid archive is only 13 bytes. -- Each entry has some metadata attached to it, this is implemented using bitflags and up to 8 bits are free to the user. +- Fine control over each individual entry in an archive, i.e. neighbouring entries can have vastly different compression schemes. +- Support compression (with multiple compression schemes), encryption, signatures for data authentication +- Efficient fetching of data by avoiding unnecessary traversal of the file. Once a file is parsed, locations of every entry are known to the loader. +- Be as compact as possible - the smallest valid archive is only 13 bytes. +- Each entry has some metadata attached to it - this is implemented using bitflags and up to 8 bits are free to the user. - Has mutlithreaded implementations of both the loader and the writer. -A [cli][vach-cli] is allowing one to use vach as a general purpose archive format. The CLI is fully multithreaded, allowing for insane un/packing speeds. +A [CLI][vach-cli] is allowing one to use vach as a general purpose archive format. The CLI is fully multithreaded, allowing for insane un/packing speeds. Feel free to drop into the [repo][vach] and open an issue, pull request or drop a star 🌟. It helps maintain momentum in the project. From 3b73ae4fd3ae2dc6f89febcbfb81aa12fc745322 Mon Sep 17 00:00:00 2001 From: Joe Clay <27cupsofcoffee@gmail.com> Date: Mon, 7 Mar 2022 19:08:00 +0000 Subject: [PATCH 7/8] fix lints --- content/news/031/index.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index 406a9f80b..acc4026a7 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -78,21 +78,29 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [vach] -[vach] is an archiving file format developed from the ground up for games and other realtime applications by [@zeskeertwee] and [@sokorototo]. It is written in pure Rust. +[vach] is an archiving file format developed from the ground up for games and +other realtime applications by [@zeskeertwee] and [@sokorototo]. It is +written in pure Rust. Its primary objectives (in no particular order) are: - Have a simple, yet complete API. -- Fine control over each individual entry in an archive, i.e. neighbouring entries can have vastly different compression schemes. -- Support compression (with multiple compression schemes), encryption, signatures for data authentication -- Efficient fetching of data by avoiding unnecessary traversal of the file. Once a file is parsed, locations of every entry are known to the loader. +- Fine control over each individual entry in an archive, i.e. neighbouring + entries can have vastly different compression schemes. +- Support compression (with multiple compression schemes), encryption, + signatures for data authentication +- Efficient fetching of data by avoiding unnecessary traversal of the file. + Once a file is parsed, locations of every entry are known to the loader. - Be as compact as possible - the smallest valid archive is only 13 bytes. -- Each entry has some metadata attached to it - this is implemented using bitflags and up to 8 bits are free to the user. +- Each entry has some metadata attached to it - this is implemented using + bitflags and up to 8 bits are free to the user. - Has mutlithreaded implementations of both the loader and the writer. -A [CLI][vach-cli] is allowing one to use vach as a general purpose archive format. The CLI is fully multithreaded, allowing for insane un/packing speeds. +A [CLI][vach-cli] is allowing one to use vach as a general purpose archive +format. The CLI is fully multithreaded, allowing for insane un/packing speeds. -Feel free to drop into the [repo][vach] and open an issue, pull request or drop a star 🌟. It helps maintain momentum in the project. +Feel free to drop into the [repo][vach] and open an issue, pull request or +drop a star 🌟. It helps maintain momentum in the project. [vach]: https://github.com/zeskeertwee/vach [vach-cli]: https://crates.io/crates/vach-cli From 2516535cbccc257963a7bce1719ecae6c225ef7d Mon Sep 17 00:00:00 2001 From: Forest Anderson Date: Mon, 7 Mar 2022 17:50:42 -0500 Subject: [PATCH 8/8] Update content/news/031/index.md --- content/news/031/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/031/index.md b/content/news/031/index.md index acc4026a7..b759e68c5 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -88,7 +88,7 @@ Its primary objectives (in no particular order) are: - Fine control over each individual entry in an archive, i.e. neighbouring entries can have vastly different compression schemes. - Support compression (with multiple compression schemes), encryption, - signatures for data authentication + and signatures for data authentication - Efficient fetching of data by avoiding unnecessary traversal of the file. Once a file is parsed, locations of every entry are known to the loader. - Be as compact as possible - the smallest valid archive is only 13 bytes.