CodeSampleX

Exemplo

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

Estado de publicação. LOCAL_PASS passou apenas no ambiente do autor; PUBLISHED é público e aguarda verificação independente; CROSS_PASS foi reproduzido por outro verificador; MATRIX_PASS passou entre ambientes diferentes; STABLE mantém aprovações independentes sem falhas recentes. Força da evidência. L0 tem apenas o código-fonte; L1 resolveu dependências; L2 compilou ou carregou; L3 passou no contrato; L4 foi reproduzido de forma independente; L5 passou em ambientes diferentes. MIT-0

Evidência de execução

O ambiente declarado é separado das execuções assinadas para mostrar exatamente o que foi provado.

Base da evidência
Verificação cruzada independente
Recibos de verificação
2
Nível de verificação
L4_CROSS_PASS
Ambiente declarado node linux x64 node node npm

Ambientes das execuções de verificação

Ambiente Contrato Etapas Execução
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

Caso

HOW
Objetivo
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.
Pacotes
Símbolos
  • Object3D.traverse
Ambiente
node
Criado
2026-08-19T13:09:41Z

Contrato

  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.

Arquivos

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

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

csx-seed