Ce projet est une alternative à Scratch qui offre une interface inspirée du blueprint d'Unreal Engine. Il a été entrepris car je trouve que Scratch utilise une approche peu ergonomique. De plus Scratch est interprété alors que ce projet converti le transforme en code Fennel avant de l'executer, offrant une bien meilleure vitesse. L'objectif était donc de créer un langage de programmation visuel personnalisé en s'inspirant de Blueprint (ou Blot, pour Unity), que je considère personnellement comme plus ergonomique. Il est également possible de facilement modifier le compilateur pour en faire un langage spécialisé dans la création de jeux vidéo (comme Scratch), dans l'automatisation (comme Node Red ou Tasker) et bien plus encore.
Le suivant est une présentation du fonctionnement et de l'utilisation de ce logiciel en l'état:
present.mp4
- Clonez le dépôt :
git clone https://github.com/RaphaelNJ/vs_rs.git
- Accédez au répertoire du projet :
cd vs_rs
- Executez le projet avec Cargo :
cargo run
- Sauvegarder le projet dans un fichier (boutton en haut a droite)
- Charger un projet depuis un fichier (boutton en haut a droite)
- Compilateur basique
- Interpreteur Lua embarqué pour executer les programmes directement dans l'application
- Support de l'execution en branches (if/else, while, etc)
- Support de Linux (Wayland)
- Support du WebAssembly (pouvoir tourner dans un navigateur)
- Créer des fonctions personalisées
- Créer des arguments et des return de fonctions
- Créer un node "Return"
- Variables
- Acceder au variables dans le code
- Pouvoir modifier le compilateur avec un seul fichier de configuration
- Remplacer Fennel par le machine code directement, en utilisant LLVM
Ce programme est basé sur egui_node_graph et est distribué sous la licence MIT.