CodeSampleX

Пример

Prove Object3D.traverse traversal semantics in three 0.185.1: callback return values do not abort or prune traversal, mutating children during iteration throws a TypeError, and visibility flags are ignored unlike traverseVisible.

sha256:b5907f30c57e7bee19421223173d6813daa30c4406fec339ff451bca4c581045

Статус публикации. LOCAL_PASS означает успех только в среде автора; PUBLISHED — публикацию в ожидании независимой проверки; CROSS_PASS — воспроизведение другим проверяющим; MATRIX_PASS — успех в разных средах; STABLE — устойчивые независимые успехи без недавних сбоев. Сила доказательства. L0 — только исходный код; L1 — разрешённые зависимости; L2 — компиляция или загрузка; L3 — успешный контракт; L4 — независимое воспроизведение; L5 — успех в разных средах. MIT-0

Свидетельства выполнения

Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.

Основа свидетельства
Независимая перекрёстная проверка
Квитанции проверки
2
Уровень проверки
L4_CROSS_PASS
Заявленная среда node linux x64 node node npm

Среды запусков проверки

Окружение Контракт Этапы Запуск
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-19
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-19

Кейс

HOW
Цель
Prove Object3D.traverse traversal semantics in three 0.185.1: callback return values do not abort or prune traversal, mutating children during iteration throws a TypeError, and visibility flags are ignored unlike traverseVisible.
Пакеты
Символы
  • Object3D.traverse
Окружение
node
Создан
2026-08-19T13:09:41Z

Контракт

  1. Object3D.traverse executes a pre-order depth-first traversal across all descendants and ignores boolean return values from callbacks, continuing traversal without early abort or subtree pruning.
  2. Object3D.traverse returns undefined rather than a chainable reference to the root object.
  3. Object3D.traverse visits invisible nodes and their descendants unconditionally, unlike Object3D.traverseVisible which terminates descent at invisible nodes.
  4. Removing a child object during Object3D.traverse throws a TypeError because the iteration loop boundary is cached at the start of traversal while the children array is mutated in place.
  5. Object3D.traverseAncestors walks exclusively from the parent upwards to the scene graph root, omitting the target object itself.

Файлы

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • test/contract.mjs

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed