Cellcosmos est un explorateur d'automates cellulaires elementaires ecrit avec multilingualprogramming en francais et compile en WebAssembly.
Le projet a pour but de montrer qu'un programme scientifique et visuel peut etre :
- defini dans des sources multilingual francaises simples
- compile en WASM pour un usage direct dans le navigateur
- deploye comme site statique sans serveur applicatif
L'application permet d'explorer les 256 regles elementaires, de modifier leur rendu visuel, et d'observer immediatement les motifs generes.
src/automate_elementaire_canonique.ml: source canonique complete de l'automatesrc/automate_elementaire_wasm.ml: sous-ensemble WASM-compatible pour le sitesrc/main.ml: point d'entree du bundle WASMscripts/compile_wasm.ml: pipeline de build en source multilingualpublic/: site statique deploye sur GitHub Pages
python -m pip install -r requirements-build.txt
python -m multilingualprogramming scripts/compile_wasm.mlDepuis la racine du depot.
Pour tester explicitement une copie locale du depot multilingual au lieu de la version epinglee :
$env:MULTILINGUAL_DEV_PATH="..\multilingual"
python -m multilingualprogramming scripts/compile_wasm.mlLe build genere :
public/cellcosmos.wasmpublic/cellcosmos.watpublic/main.mlpublic/automate_elementaire_canonique.mlpublic/automate_elementaire_wasm.ml
Le workflow deploy.yml compile le source francais vers WASM avec la version epinglee dans requirements-build.txt, verifie les exports attendus, puis deploye public/ sur GitHub Pages.
Un workflow planifie surveille aussi la compatibilite avec la version epinglee, la derniere version publiee et la branche main du depot amont johnsamuelwrites/multilingual.
Le projet distingue maintenant deux niveaux :
- la source canonique, qui capture l'objectif complet du projet original : lecture de configuration, generation par lots, semis multicouches, couleurs, formes et evolution probabiliste
- le module WASM-compatible, plus compact, utilise par l'interface statique pour calculer rapidement les transitions dans le navigateur