Say that an animation offers no private variable for a new row (#270)

- Animations: the rule, that an existing row stays, and where it is
  built (offeredDefs against animatableDefsOf).
- Behaviors: one sentence under Private.
- Development: 1610 editor checks.
admin committed 2026-10-01 07:45:09 +02:00
1 parent 12a2b1639d
commit ba34f366eb
3 files changed
+8 -1

No files matched your search

+5
@@ -27,6 +27,11 @@ the placed object overrides it. Shader parameters are numbers, as the `Property`
them, and keys are clamped to its min/max. A variable is written before the behaviors run, so a
graph reads this frame's value. When the behavior is removed, the variable renamed or the shader
swapped for one without the parameter, the row reads *(missing)* and keeps its keys.
A variable switched **Private** (see [Behaviors](Behaviors)) is not offered for a new row (#270).
A row that aims at it already stays: it plays, keeps its label, and *Change target…* in its
inspector still lists its own variable. Under the hood the dialog asks `offeredDefs` in
`src/core/model/animation.ts`, while the label and the runtime read `animatableDefsOf`, which
knows nothing of the lock.
Its two properties are **Frames per second** (default 10) and **Playback**: *Loop*, *Once (hold)*
(ends on the last value and leaves it), *Once (reset)* (ends and puts back what every target held
+2
@@ -35,6 +35,8 @@ playing use the same two words.
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*.
An [animation](Animations) does not offer a private variable for a new row either (#270); a row
that aimed at it before keeps playing and keeps its label.
`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*, *Container* and *Clip area* offer their fields,
+1 -1
@@ -18,7 +18,7 @@ php tests/php/accounts.test.php # the API's accoun
# has and the web server's container has not (SKIP there)
php tests/php/snapshots.test.php # the snapshot store (#231), the same way
php tests/php/releases.test.php # the release store (#266), the same way
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1609 editor checks, screenshots in /tmp/gm-e2e-*.png
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1610 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