From e00161303a5e166fff4efef85d5dc5d491ca523e Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Thu, 3 Sep 2020 13:59:48 +0200 Subject: [PATCH 1/6] Update index.md --- content/posts/newsletter-013/index.md | 70 +++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index b9c455648..c04c5cb95 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -66,6 +66,76 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library & Tooling Updates +### Piston + +Piston is a modular game engine written in Rust. + +A new Discord channel has been set up for the Piston project: https://t.co/8YOj3auDr9?amp=1 + +Piston consists of a core library "piston" which itself are composed of smaller libraries for abstracting input, window and event loop. +This design helps reducing breaking changes in the ecosystem. + +The core library `pistoncore-input` is now stabilized and reached 1.0! +This is the most important core abstraction, because it glues all libraries that are not independent of the core. + +------ + +Dyon is a rusty dynamically typed scripting language. +It is developed and maintained as part of the Piston project, but can be used as a standalone library. + +Dyon is designed from the bottom up to be a good gamedev scripting language for Rust. +It uses a lifetime checker instead of garbage collection, a mutability checker, +optional namespaces and ad-hoc types, named argument syntax, 4D vectors and HTML colors, plus a lot more features! + +Recently, Dyon got better macro integration for native Rust types using `#` as a prefix. + +Here is an example of this feature is being tested in an experimental offline 3D renderer (not open sourced): + +```text +// Called by `set_simple(scene: _, sdf: _, id: _)`. +dyon_fn!{fn set_simple__scene_sdf_id( + scene: #&mut SimpleScene, + sdf: #&Sdf, + id: f64 +) { + scene.sdfs[id as usize] = sdf.clone() +}} +``` + +To follow updates on Dyon, check out the subreddit [/r/dyon](https://old.reddit.com/r/dyon/). + +------ + +Piston-Graphics is a library for 2D graphics, written in Rust, that works with multiple backends. + +`Stencil::Increment` has been added and the ecosystem has been updated to the latest version. + +------ + +The research branch of the Piston project, AdvancedResearch, has released a new ECS library [Nano-ECS](https://github.com/advancedresearch/nano_ecs). + +This ECS design stores all components in a single array and uses bit masks for enabling/disabling components. +An entity can have maximum 64 components and must be initalized with all components it uses in the future. +Each entity has a slice into the array that stores all components. +The `World` object, `Component` and systems are generated using macros. + +One research project with Nano-ECS is to prototype a UI framework for Rust with a UI editor (not open sourced yet). +This project uses Piston-Graphics by default, but can generate draw commands for processing by other 2D APIs. +It is also possible to override rendering of widgets for custom looks with Piston-Graphics, which is often useful in gamedev. +Recently, this project has gotten to a place where [tree-view interaction](https://twitter.com/PistonDeveloper/status/1299840279374110720) is working. + +------ + +Discussions: +[Piston Discord Channel]: https://t.co/8YOj3auDr9?amp=1 +[/r/dyon]: https://old.reddit.com/r/dyon/ +[@PistonDeveloper (twitter)](https://twitter.com/PistonDeveloper) + +[Piston]: https://github.com/pistondevelopers/piston +[Dyon]: https://github.com/pistondevelopers/dyon +[Piston-Graphics]: https://github.com/pistondevelopers/graphics +[Nano-ECS]: https://github.com/advancedresearch/nano_ecs + ## Popular Workgroup Issues in Github ## Meeting Minutes From d6be3c9b0440f50d9cd49adc7a21e4fb069cf897 Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Thu, 3 Sep 2020 14:11:16 +0200 Subject: [PATCH 2/6] Update index.md --- content/posts/newsletter-013/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index c04c5cb95..a8c266f4b 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -70,7 +70,7 @@ If needed, a section can be split into subsections with a "------" delimiter. Piston is a modular game engine written in Rust. -A new Discord channel has been set up for the Piston project: https://t.co/8YOj3auDr9?amp=1 +A new [Discord channel](https://t.co/8YOj3auDr9?amp=1) has been set up for the Piston project. Piston consists of a core library "piston" which itself are composed of smaller libraries for abstracting input, window and event loop. This design helps reducing breaking changes in the ecosystem. From fdf5035bf4662dcdf6d1fabfebe863adf65b6f19 Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Thu, 3 Sep 2020 14:15:17 +0200 Subject: [PATCH 3/6] Update index.md --- content/posts/newsletter-013/index.md | 48 ++++++++++++++++++--------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index a8c266f4b..1ff43f32d 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -70,26 +70,32 @@ If needed, a section can be split into subsections with a "------" delimiter. Piston is a modular game engine written in Rust. -A new [Discord channel](https://t.co/8YOj3auDr9?amp=1) has been set up for the Piston project. +A new [Discord channel](https://t.co/8YOj3auDr9?amp=1) has been set up +for the Piston project. -Piston consists of a core library "piston" which itself are composed of smaller libraries for abstracting input, window and event loop. +Piston consists of a core library "piston" which itself are composed of +smaller libraries for abstracting input, window and event loop. This design helps reducing breaking changes in the ecosystem. The core library `pistoncore-input` is now stabilized and reached 1.0! -This is the most important core abstraction, because it glues all libraries that are not independent of the core. +This is the most important core abstraction, because it glues all +libraries that are not independent of the core. ------ Dyon is a rusty dynamically typed scripting language. -It is developed and maintained as part of the Piston project, but can be used as a standalone library. +It is developed and maintained as part of the Piston project, +but can be used as a standalone library. Dyon is designed from the bottom up to be a good gamedev scripting language for Rust. It uses a lifetime checker instead of garbage collection, a mutability checker, -optional namespaces and ad-hoc types, named argument syntax, 4D vectors and HTML colors, plus a lot more features! +optional namespaces and ad-hoc types, named argument syntax, +4D vectors and HTML colors, plus a lot more features! Recently, Dyon got better macro integration for native Rust types using `#` as a prefix. -Here is an example of this feature is being tested in an experimental offline 3D renderer (not open sourced): +Here is an example of this feature is being tested in +an experimental offline 3D renderer (not open sourced): ```text // Called by `set_simple(scene: _, sdf: _, id: _)`. @@ -102,27 +108,37 @@ dyon_fn!{fn set_simple__scene_sdf_id( }} ``` -To follow updates on Dyon, check out the subreddit [/r/dyon](https://old.reddit.com/r/dyon/). +To follow updates on Dyon, check out the subreddit +[/r/dyon](https://old.reddit.com/r/dyon/). ------ -Piston-Graphics is a library for 2D graphics, written in Rust, that works with multiple backends. +Piston-Graphics is a library for 2D graphics, written in Rust, +that works with multiple backends. -`Stencil::Increment` has been added and the ecosystem has been updated to the latest version. +`Stencil::Increment` has been added and the ecosystem +has been updated to the latest version. ------ -The research branch of the Piston project, AdvancedResearch, has released a new ECS library [Nano-ECS](https://github.com/advancedresearch/nano_ecs). +The research branch of the Piston project, AdvancedResearch, +has released a new ECS library [Nano-ECS](https://github.com/advancedresearch/nano_ecs). -This ECS design stores all components in a single array and uses bit masks for enabling/disabling components. -An entity can have maximum 64 components and must be initalized with all components it uses in the future. +This ECS design stores all components in a single array +and uses bit masks for enabling/disabling components. +An entity can have maximum 64 components and must be initalized +with all components it uses in the future. Each entity has a slice into the array that stores all components. The `World` object, `Component` and systems are generated using macros. -One research project with Nano-ECS is to prototype a UI framework for Rust with a UI editor (not open sourced yet). -This project uses Piston-Graphics by default, but can generate draw commands for processing by other 2D APIs. -It is also possible to override rendering of widgets for custom looks with Piston-Graphics, which is often useful in gamedev. -Recently, this project has gotten to a place where [tree-view interaction](https://twitter.com/PistonDeveloper/status/1299840279374110720) is working. +One research project with Nano-ECS is to prototype a UI framework +for Rust with a UI editor (not open sourced yet). +This project uses Piston-Graphics by default, +but can generate draw commands for processing by other 2D APIs. +It is also possible to override rendering of widgets for +custom looks with Piston-Graphics, which is often useful in gamedev. +Recently, this project has gotten to a place where +[tree-view interaction](https://twitter.com/PistonDeveloper/status/1299840279374110720) is working. ------ From 4d313af2bbe68736b113d98a8dae200d65dd1d64 Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Thu, 3 Sep 2020 14:23:02 +0200 Subject: [PATCH 4/6] Update index.md --- content/posts/newsletter-013/index.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index 1ff43f32d..a6e7634f9 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -92,7 +92,8 @@ It uses a lifetime checker instead of garbage collection, a mutability checker, optional namespaces and ad-hoc types, named argument syntax, 4D vectors and HTML colors, plus a lot more features! -Recently, Dyon got better macro integration for native Rust types using `#` as a prefix. +Recently, Dyon got better macro integration for native Rust types +using `#` as a prefix. Here is an example of this feature is being tested in an experimental offline 3D renderer (not open sourced): @@ -138,9 +139,7 @@ but can generate draw commands for processing by other 2D APIs. It is also possible to override rendering of widgets for custom looks with Piston-Graphics, which is often useful in gamedev. Recently, this project has gotten to a place where -[tree-view interaction](https://twitter.com/PistonDeveloper/status/1299840279374110720) is working. - ------- +[tree-view interaction](https://tinyurl.com/y63f5xkv) is working. Discussions: [Piston Discord Channel]: https://t.co/8YOj3auDr9?amp=1 From e37f6ad00238eb5b792648eca21d8209dc78a544 Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Thu, 3 Sep 2020 14:26:39 +0200 Subject: [PATCH 5/6] Update index.md --- content/posts/newsletter-013/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index a6e7634f9..0ba38e059 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -141,7 +141,7 @@ custom looks with Piston-Graphics, which is often useful in gamedev. Recently, this project has gotten to a place where [tree-view interaction](https://tinyurl.com/y63f5xkv) is working. -Discussions: +_Discussions: [Piston Discord Channel]: https://t.co/8YOj3auDr9?amp=1 [/r/dyon]: https://old.reddit.com/r/dyon/ [@PistonDeveloper (twitter)](https://twitter.com/PistonDeveloper) From 4e7d5f6c5d31c69097bde4c8e87f0f9b749c2955 Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Thu, 3 Sep 2020 14:29:55 +0200 Subject: [PATCH 6/6] Update index.md --- content/posts/newsletter-013/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index 0ba38e059..a3883798d 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -141,10 +141,9 @@ custom looks with Piston-Graphics, which is often useful in gamedev. Recently, this project has gotten to a place where [tree-view interaction](https://tinyurl.com/y63f5xkv) is working. -_Discussions: [Piston Discord Channel]: https://t.co/8YOj3auDr9?amp=1 [/r/dyon]: https://old.reddit.com/r/dyon/ -[@PistonDeveloper (twitter)](https://twitter.com/PistonDeveloper) +[@PistonDeveloper twitter)](https://twitter.com/PistonDeveloper) [Piston]: https://github.com/pistondevelopers/piston [Dyon]: https://github.com/pistondevelopers/dyon