plum

#treesitter#compiler#wasm

git clone https://git.pyrossh.dev/plum

A statically typed, imperative programming language inspired by rust, python


959b318 — Peter John 2026-11-02T20:47:51+05:30
docs(plans): Orb Run scene review plan
docs/plans/2026-11-02-orb-run-scene.review.md ADDED
@@ -0,0 +1,16 @@
1
+ # Orb Run on the scene graph: review plan
2
+
3
+ ## Summary
4
+ Add `plum-examples/game_scene.plum`: the same Orb Run game as `game.plum` (same rules, keys, assets, sounds, scoring), rebuilt in retained mode on `std/game/Scene`'s `trait Actor`. The ship, orbs and mines become records embedding `Actor` with their own `act` and `draw`, under layer Groups in a `Stage`. Then add a short "Immediate mode or Scene?" paragraph to README's Games section pointing at both versions.
5
+
6
+ ## What you will get
7
+ - `game_scene.plum`, runnable with `plum game plum-examples/game_scene.plum` and on the web.
8
+ - Its rules stay pure, so its `test` blocks run under `plum test`, plus tests of the scene structure (an orb picked up respawns in the orbs layer, a hit makes the ship flash through its own `act`).
9
+ - A README paragraph: immediate mode (`game.plum`, flat arcade games) versus retained mode (`scene.plum`, `game_scene.plum`: hierarchy, z-order, culling, hit-testing, per-kind behaviour).
10
+ - The web browser check covers the new example, if the harness lists examples.
11
+
12
+ ## Built by
13
+ One helper, on branch `orb-run-scene`; no compiler changes. A compiler bug found on the way is reported, not worked around silently.
14
+
15
+ ## How we will know it works
16
+ `plum test plum-examples` green, plum-lsp README snippet test green, the web build succeeds and the browser check passes, `plum format` idempotent on a copy.