Skip to content

Commit ddfd681

Browse files
Rename files
1 parent 1f98fe2 commit ddfd681

21 files changed

Lines changed: 354 additions & 701 deletions

.github/workflows/deploy.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,16 @@ jobs:
5353
run: |
5454
node --check public/automate-core.js
5555
node --check public/app.mjs
56+
node --check public/ui.mjs
5657
node --check public/generated/automate_packed_runtime.mjs
5758
node --check public/generated/automate_packed/host_shim.mjs
5859
5960
- name: Valider le moteur et le WASM
6061
run: |
61-
python tests/stage6_french_core.py
62-
node tests/stage3-smoke.js
63-
node tests/stage4-wasm.mjs
64-
node tests/stage5-static.js
62+
python tests/french_core_smoke.py
63+
node tests/core_smoke.js
64+
node tests/packed_runtime_smoke.mjs
65+
node tests/static_site_smoke.js
6566
6667
- name: Verifier la structure GitHub Pages
6768
run: |

.github/workflows/monitor-multilingual.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,16 @@ jobs:
7676
run: |
7777
node --check public/automate-core.js
7878
node --check public/app.mjs
79+
node --check public/ui.mjs
7980
node --check public/generated/automate_packed_runtime.mjs
8081
node --check public/generated/automate_packed/host_shim.mjs
8182
8283
- name: Valider le moteur et le WASM
8384
run: |
84-
python tests/stage6_french_core.py
85-
node tests/stage3-smoke.js
86-
node tests/stage4-wasm.mjs
87-
node tests/stage5-static.js
85+
python tests/french_core_smoke.py
86+
node tests/core_smoke.js
87+
node tests/packed_runtime_smoke.mjs
88+
node tests/static_site_smoke.js
8889
8990
- name: Upload metadata artifact
9091
if: always()

README.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Automaginarium is a configurable universe generator for cellular automata. It extends the spirit of [Cellcosmos](https://github.com/multilingualprogramming/cellcosmos): instead of exploring only the 256 elementary Wolfram rules, it opens the rule space itself.
44

5-
The project is designed to demonstrate the expressive power of the Multilingual programming language. The canonical automata concepts are written in French Multilingual source, while JavaScript is kept as a browser layer for loading JSON configurations, drawing to canvas, and wiring interface events.
5+
The project is designed to demonstrate the expressive power of the Multilingual programming language. The canonical automata concepts are written in French Multilingual source, while JavaScript is kept as a thin browser layer for loading JSON configurations, drawing to canvas, and wiring only the essential interface events.
66

77
## Vision
88

@@ -27,17 +27,18 @@ docs/ Migration notes, architecture, tutorials
2727
scripts/ Future build helpers for Multilingual/WASM compilation
2828
```
2929

30-
## Current Stage
30+
## Current Shape
3131

32-
This is the Stage 2 working skeleton. It includes:
32+
The repository currently includes:
3333

3434
- a canonical French Multilingual core in `src/automate_universel.ml`
3535
- a small JavaScript adapter in `public/automate-core.js` that mirrors the current core until the Multilingual/WASM build pipeline is wired
36-
- a canvas UI in `public/app.js`
36+
- a canvas UI in `public/app.mjs`
37+
- a small progressive-enhancement layer in `public/ui.mjs`
3738
- copied Cellcosmos heritage references in `public/metrics.js` and `src/cellcosmos_primitives_heritage.ml`
3839
- example configurations and a JSON schema in `examples/`
3940
- migration and architecture documentation in `docs/`
40-
- Stage 3 canonical rule keys using JSON-array strings such as `"[0,1,0]"`
41+
- canonical rule keys using JSON-array strings such as `"[0,1,0]"`
4142

4243
## Run The Demo
4344

@@ -64,7 +65,7 @@ Useful docs:
6465
- `docs/quickstart.md`
6566
- `docs/create-universe.md`
6667
- `docs/gallery.md`
67-
- `docs/stage4-runtime.md`
68+
- `docs/packed-runtime.md`
6869
- `docs/release-checklist.md`
6970

7071
The repository also includes GitHub Actions workflows:
@@ -74,30 +75,30 @@ The repository also includes GitHub Actions workflows:
7475

7576
Generated Multilingual/WASM outputs under `public/generated/automate_packed/` are intentionally ignored. GitHub Actions regenerates them before publishing Pages.
7677

77-
Stage 3 also adds smoke tests:
78+
Smoke tests include:
7879

7980
```bash
80-
node tests/stage3-smoke.js
81+
node tests/core_smoke.js
8182
multilingual compile src/automate_universel.ml
8283
```
8384

84-
Stage 4 adds a generated runtime bridge:
85+
The packed runtime bridge is refreshed with:
8586

8687
```powershell
87-
.\scripts\build-stage4.ps1
88-
node tests/stage4-wasm.mjs
88+
.\scripts\build-packed-runtime.ps1
89+
node tests/packed_runtime_smoke.mjs
8990
```
9091

91-
Stage 5 adds the preset gallery and static deployment checks:
92+
Static deployment checks run with:
9293

9394
```bash
94-
node tests/stage5-static.js
95+
node tests/static_site_smoke.js
9596
```
9697

97-
Stage 6 strengthens Multilingual ownership by testing the generated Python produced from the French core:
98+
The generated Python produced from the French core is checked with:
9899

99100
```bash
100-
python tests/stage6_french_core.py
101+
python tests/french_core_smoke.py
101102
```
102103

103104
## Attribution
@@ -113,7 +114,7 @@ Where source code is directly adapted, comments identify Cellcosmos as the origi
113114

114115
## Next Migration Steps
115116

116-
1. Compile `src/automate_universel.ml` through the Multilingual toolchain to WebAssembly or generated JavaScript.
117-
2. Replace `public/automate-core.js` with generated calls into the French core.
118-
3. Bring over isolated Cellcosmos features: metrics, gallery thumbnails, sharing, PNG export refinements, and selected Matter Lab interactions.
117+
1. Compile more of `src/automate_universel.ml` through the Multilingual toolchain to WebAssembly or generated JavaScript.
118+
2. Replace more of `public/automate-core.js` with generated calls into the French core.
119+
3. Keep trimming browser-side helpers that do not strengthen the multilingual model.
119120
4. Add more generated rule spaces: totalistic, symmetric, genetic, stochastic, and multi-channel examples.

docs/architecture.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ Automaginarium is split into four layers:
66
examples/*.json declarative universes
77
src/automate_universel.ml canonical French Multilingual automata core
88
public/automate-core.js temporary browser adapter mirroring the core
9-
public/app.js DOM events, canvas drawing, preset loading
9+
public/app.mjs DOM events, canvas drawing, preset loading
10+
public/ui.mjs small progressive-enhancement UI bridge
1011
```
1112

1213
The intended stable boundary is the configuration object. The UI should not know Wolfram-specific details except where it offers a preset shortcut.
1314

14-
Stage 3 uses canonical JSON-array rule keys, for example `"[0,1,0]"`, rather than concatenated keys such as `"010"`. The browser adapter still accepts older Cellcosmos-style keys as a compatibility fallback.
15+
Canonical JSON-array rule keys use forms such as `"[0,1,0]"`, rather than concatenated keys such as `"010"`. The browser adapter still accepts older Cellcosmos-style keys as a compatibility fallback.
1516

16-
Stage 4 adds a generated Multilingual/WASM bridge. The full French core remains the canonical configuration and evolution model, while `src/automate_packed_wasm.ml` exposes a narrow numeric ABI for browser calls. The browser prefers `window.AutomaginariumPacked` when available and falls back to JavaScript only where rich JSON orchestration is still needed.
17+
The packed Multilingual/WASM bridge keeps the full French core as the canonical configuration and evolution model, while `src/automate_packed_wasm.ml` exposes a narrow numeric ABI for browser calls. The browser prefers `window.AutomaginariumPacked` when available and falls back to JavaScript only where rich JSON orchestration is still needed.
1718

1819
## Reuse From Cellcosmos
1920

docs/gallery.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Preset Gallery
22

3-
Stage 5 adds a browser-rendered preset gallery. Each gallery tile is generated from the same Automaginarium configuration model used by the main canvas.
3+
The browser-rendered preset gallery uses the same Automaginarium configuration model as the main canvas.
44

55
Current preset families:
66

@@ -16,5 +16,5 @@ The gallery intentionally uses real generated thumbnails rather than static imag
1616
The static check is:
1717

1818
```powershell
19-
node tests\stage5-static.js
19+
node tests\static_site_smoke.js
2020
```

docs/github-pages.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Source files that must be committed for Pages:
1515

1616
- `public/index.html`
1717
- `public/app.mjs`
18+
- `public/ui.mjs`
1819
- `public/automate-core.js`
1920
- `public/style.css`
2021
- `public/generated/automate_packed_runtime.mjs`
@@ -32,11 +33,11 @@ The `.nojekyll` file disables Jekyll processing so GitHub Pages serves static ge
3233
Before publishing, run:
3334

3435
```powershell
35-
.\scripts\build-stage4.ps1
36-
python tests\stage6_french_core.py
37-
node tests\stage3-smoke.js
38-
node tests\stage4-wasm.mjs
39-
node tests\stage5-static.js
36+
.\scripts\build-packed-runtime.ps1
37+
python tests\french_core_smoke.py
38+
node tests\core_smoke.js
39+
node tests\packed_runtime_smoke.mjs
40+
node tests\static_site_smoke.js
4041
```
4142

4243
Then serve locally from the repository root:

docs/migration-plan.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
## Stage 4 - Minimal JavaScript
2525

26-
- keep `public/app.js` focused on DOM, canvas, fetch, and events
26+
- keep `public/app.mjs` focused on DOM, canvas, fetch, and events
2727
- keep rule logic behind `window.AutomaginariumCore` or WASM exports
2828
- migrate Cellcosmos share URLs and gallery generation only after the core boundary is stable
2929

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Stage 4 Runtime Bridge
1+
# Packed Runtime Bridge
22

3-
Stage 4 introduces a generated runtime path from French Multilingual into the browser.
3+
The packed runtime introduces a generated path from French Multilingual into the browser.
44

55
The rich canonical engine remains:
66

@@ -32,9 +32,9 @@ The browser loads `public/generated/automate_packed_runtime.mjs`, which instanti
3232
Regenerate artifacts with:
3333

3434
```powershell
35-
.\scripts\build-stage4.ps1
35+
.\scripts\build-packed-runtime.ps1
3636
```
3737

3838
Current limitation: the full JSON/dictionary/list-rich core compiles to generated Python but does not yet produce a browser WASM bundle with the current Multilingual WAT backend. The narrow ABI module is the deliberate bridge until richer data lowering is available.
3939

40-
The generated rich core is now exercised by `tests/stage6_french_core.py`, so CI verifies behavior that comes directly from `src/automate_universel.ml`.
40+
The generated rich core is exercised by `tests/french_core_smoke.py`, so CI verifies behavior that comes directly from `src/automate_universel.ml`.

docs/quickstart.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ No application server is required. The generated Multilingual/WASM bundle is ser
2525
## Rebuild Generated Artifacts
2626

2727
```powershell
28-
.\scripts\build-stage4.ps1
28+
.\scripts\build-packed-runtime.ps1
2929
```
3030

3131
Then run:
3232

3333
```powershell
34-
python tests\stage6_french_core.py
35-
node tests\stage3-smoke.js
36-
node tests\stage4-wasm.mjs
37-
node tests\stage5-static.js
34+
python tests\french_core_smoke.py
35+
node tests\core_smoke.js
36+
node tests\packed_runtime_smoke.mjs
37+
node tests\static_site_smoke.js
3838
```

docs/release-checklist.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ Before publishing a release:
55
1. Rebuild generated artifacts.
66

77
```powershell
8-
.\scripts\build-stage4.ps1
8+
.\scripts\build-packed-runtime.ps1
99
```
1010

1111
2. Run all local tests.
1212

1313
```powershell
14-
python tests\stage6_french_core.py
15-
node tests\stage3-smoke.js
16-
node tests\stage4-wasm.mjs
17-
node tests\stage5-static.js
14+
python tests\french_core_smoke.py
15+
node tests\core_smoke.js
16+
node tests\packed_runtime_smoke.mjs
17+
node tests\static_site_smoke.js
1818
```
1919

2020
3. Serve the repository root.

0 commit comments

Comments
 (0)