Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marci1175/ferris_draw

An educational tool aimed to teach the basics of programming to children.
https://github.com/marci1175/ferris_draw

bevy education egui imagine-logo mlua rust

Last synced: about 2 hours ago
JSON representation

An educational tool aimed to teach the basics of programming to children.

Awesome Lists containing this project

README

        

# Ferris draw
- An educational tool aimed to teach the basics of programming to children.


Application Icon

## Project
- This project was originally an [Imagine Logo](https://imagine.input.sk/international.html) port to rust.
- The reason I am creating this project is because I had a ton of fun with it when I was in elemntary school learning about this.

### Project Features
- The project uses [lua](https://www.lua.org/) as its programming language, with [mlua](https://github.com/mlua-rs/mlua).
- Callbacks are implemented in this Application to further customize user experience, and allow the implementation of more complicated projects.
- You can import any library in your script, as the [lua](https://www.lua.org/) instance to support external libraries.
- The drawings are rendered with the [Bevy game engine](https://bevyengine.org/), to ensure flexibility, safety and speed.
- Ui components are created via [egui](https://crates.io/crates/egui).
- You can run scripts by utilizing the scripts tab but you can run quick commands via the Command Panel available in the application.
- Syntax highlighting is available in the Script Manager and the Command Panel.
- The Command Panel has the user friendly interface with features to enhance production.
- You can also save and open projects.
- You can record demos and play them back step by step, so they can be explained thoroughly.z
### Drawing Capabilities
- Create multiple drawers (with a unique ID).
- Draw lines forward and backward.
- Rotate the drawer to left and right.
- Set the color of the lines the user is drawing.

### Documentation
Documentation is available [here](https://github.com/marci1175/ferris_draw/blob/master/DOCUMENTATION.md#introduction).

### Project showcase
**An online demo is available for the application**
https://marci1175.github.io/ferris_draw/

**The application is subject to change, this video depicts the second release**
https://youtu.be/pN9JmLXmT9c