A list could only grow through Join lists, and that takes its b apart:
a struct becomes one item per field and a list is joined. A list of
structs such as loot could not grow at all.
- Add item returns a new list with value as exactly one more item. A
struct or a list goes in whole. The list that came in is left alone,
like with Set item.
- index -1 or unset appends. Otherwise the item goes in before that
index. An index outside the list appends, so the value is not lost.
- The rule that an item takes the kind of its slot moved out of Set item
into fitToSlot. Both nodes use it, Set item behaves as before.
- No e2e check and no browser look. The node is covered by unit tests.
Tests:
- ./check.sh: 180 files, 2634 tests, CHECK EXIT 0
- 7 catalog cases, 4 cases in list-of-structs.test.ts, and index in the
whole-number inputs of texture-kind.test.ts
- Counter-check: taking the value apart like Join lists fails 3 tests
- This commit alone: tsc and the three touched unit files pass
(337 tests)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>