diff --git a/Behaviors.md b/Behaviors.md index d04293a..72345a7 100644 --- a/Behaviors.md +++ b/Behaviors.md @@ -24,6 +24,17 @@ playing use the same two words. means the behavior's own, a **Variables asset** means one value per key for the whole run (see below). Switching it changes nothing else — a port whose name the new source does not declare is marked, not dropped. + A variable switched **Private** (the lock beside the *Keep* pin, off for a new variable) belongs to the + behavior's own graph alone: a placed object neither shows it in its inspector or Variables tab + nor overrides it, not even with its live value while the game runs — look into the graph for + that. Switching a variable private drops the overrides every placed object had for it (one undo + step brings them back), and a running game writes no private value back into the scene. Inside + the graph nothing changes: `Variables` node, default, *Keep* and one value per instance. On the + behavior asset the value of a private variable is greyed out and read-only; the graph sets it. + Switch the lock off to change the default there. + A `Properties` node of type *Behavior* does not offer a private variable under `+ Property`, but + a port that names it still reads and writes it — one picked while it was public, or one typed by + hand under type *Any*. `Properties` is the same node for the object it is handed (fixed input `object`). Its **Type** setting, above the list, decides what `+ Property` offers: *Sprite*, *Text*, *Collider*, *Camera* and *Container* offer their fields, @@ -283,7 +294,7 @@ playing use the same two words. A behavior **without a start node** is called from its **On start** nodes instead, all of them in graph order, as when it starts on its own. It takes no inputs then, but its end node still hands back what it is given. With a start node in the graph, its On start nodes stay out of the call. -- **Keep** (a switch on each variable of the called behavior, in its inspector): a kept variable +- **Keep** (the pin on each variable of the called behavior, in its inspector): a kept variable picks up where the last call **from this node, on this object** left it; the others start at their default every call. Every variable starts out not kept, a new one as well as one from a project saved before the switch existed; Keep is switched on by hand. Two call diff --git a/Development.md b/Development.md index baaeaf5..816c817 100644 --- a/Development.md +++ b/Development.md @@ -15,7 +15,7 @@ npm run build # writes dist/ and regenerates index.html php tools/make-user.php [admin|user] # an account; every tool signs in (see Accounts) php tests/php/accounts.test.php # the API's account rules, no server needed (CI's gate job) php tests/php/snapshots.test.php # the snapshot store (#231), the same way -node tools/seed-e2e.mjs && node tools/e2e.mjs # 1520 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 1527 editor checks, screenshots in /tmp/gm-e2e-*.png GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step ./e2e.sh start [GM_STEPS] # the same run detached, see below ./e2e.sh status # live progress, or the last run's result