plum
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.
|