diff --git a/Behaviors.md b/Behaviors.md index e788fec..3874a9f 100644 --- a/Behaviors.md +++ b/Behaviors.md @@ -264,8 +264,13 @@ playing use the same two words. each one on its own, so a pair fed by a number and a text shows two colours and thereby says why the output stays grey. That colour is paint only (`paintType`): the port itself keeps taking everything, and every `any` input is painted this way, not just one in a group. The output falls back to `any` whenever an input is - unconnected or the two disagree, and the type does **not** travel through a second such node — - it is read from neighbours with a fixed type only, so a chain cannot ask itself in circles. + unconnected or the two disagree. The type **travels through a chain** of such nodes: a `Select` + fed by two `First not empty` that both hand out an animation is an animation port too, and one + mixed or open input anywhere in the chain makes everything behind it `any` again. Nodes that + feed each other in a circle stay `any` — the question of what feeds a group remembers whom it + has asked (`shapedDef` in `core/graph/nested.ts`), so a circle ends instead of asking forever, + and a node feeding both inputs of the next is asked once. Nothing is cached between two + changes: a chain of 50 resolves in about 10 ms on the slowest machine measured. An edge that a new type makes invalid is left alone and **drawn in the danger colour**; nothing is disconnected behind your back. All of this is the editor's view — at run time every value travels the same way either way. diff --git a/Development.md b/Development.md index ac7dd6d..5cd71db 100644 --- a/Development.md +++ b/Development.md @@ -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 # 1671 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 1673 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